最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript連續(xù)賦值問題

 更新時間:2015年07月08日 11:00:48   投稿:hebedich  
本文通過具體的示例來給大家詳細(xì)解釋了下javascript的連續(xù)賦值問題,十分的實用,有需要的小伙伴可以參考下。

前幾天在搜索面試題時發(fā)現(xiàn)了這么一段代碼,執(zhí)行完后感覺完全不與所想的一樣

 var a = {
   n : 1
 };
 var b = a;
 a.x = a = {n : 2};
 console.log(a.x);
 console.log(b.x);

輸出結(jié)果為:

undefined

[object Object]

一開始以為語句應(yīng)該是先給 a 賦值 {n : 2} , 然后再將 a.x 賦值 {n : 2} ;

但事實卻不是那樣,于是改動了一下代碼,添加幾條log

var test;
var a = {
  get test () {
    console.log("call a get");
    return test;
  },
  set test (value) {
    console.log("call a set");
    test = value;
  }
}
var test2;
var b = {
  get test2 () {
    console.log("call b get");
    return test2;
  },
  set test2 (value) {
    console.log("call b set");
    test2 = value;
  }
}
a.test = {
  n : 1
};
b.test2 = a.test;
console.log("begin");
a.test.x = a.test = {n : 2};

這樣,在begin后邊,這條賦值到底執(zhí)行了什么就一目了然了.

這是語句執(zhí)行時打印的log

先觸發(fā)了一次get,然后觸發(fā)了一次set.

本人猜想,該條語句執(zhí)行的順序為,先將左邊變量取出,然后執(zhí)行賦值.(在執(zhí)行該條語句前,先將對象引用取出,然后從右到左執(zhí)行賦值)


以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡

相關(guān)文章

  • 詳解JS設(shè)計模式之橋接模式用法

    詳解JS設(shè)計模式之橋接模式用法

    javascript橋接橋接設(shè)計模式(Bridge Pattern)是一種結(jié)構(gòu)型設(shè)計模式,它用于將抽象部分與其具體實現(xiàn)部分分離,使它們可以獨立地變化,本文將通過代碼示例詳解的給大家介紹一下JS橋接模式,需要的朋友可以參考下
    2023-08-08
  • 微信小程序數(shù)據(jù)劫持代理的實現(xiàn)

    微信小程序數(shù)據(jù)劫持代理的實現(xiàn)

    本文主要介紹了微信小程序?數(shù)據(jù)劫持代理的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • js判斷數(shù)組key是否存在(不用循環(huán))的簡單實例

    js判斷數(shù)組key是否存在(不用循環(huán))的簡單實例

    下面小編就為大家?guī)硪黄猨s判斷數(shù)組key是否存在(不用循環(huán))的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • 這樣回答繼承可能面試官更滿意

    這樣回答繼承可能面試官更滿意

    這篇文章主要介紹了這樣回答繼承可能面試官更滿意,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-12-12
  • js操作時間(年-月-日 時-分-秒 星期幾)

    js操作時間(年-月-日 時-分-秒 星期幾)

    js操作時間(年-月-日 時-分-秒 星期幾),需要的朋友可以參考下。
    2010-06-06
  • 使用JavaScript實現(xiàn)一個物理模擬

    使用JavaScript實現(xiàn)一個物理模擬

    最近掌門人在寫3D游戲,對于其中的物理效果很感興趣,今天我將使用純JavaScript來實現(xiàn)一個簡易的物理模擬,其中包括碰撞檢測與響應(yīng)、摩擦力與空氣阻力、以及物體的破壞效果,文中通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • 理解 JavaScript EventEmitter

    理解 JavaScript EventEmitter

    本文是筆者看了eventemitter3 和 Node.js 事件模塊源碼后實現(xiàn)的 EventEmitter 。JavaScript 事件很重要,希望看了這篇文章的你們能有所收獲
    2018-03-03
  • Javascript閉包實例詳解

    Javascript閉包實例詳解

    閉包就是函數(shù)的局部變量集合,只是這些局部變量在函數(shù)返回后會繼續(xù)存在,本文通過代碼實例給大家介紹javascript閉包,對javascipt閉包相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
    2015-11-11
  • Nginx上傳文件全部緩存解決方案

    Nginx上傳文件全部緩存解決方案

    Nginx默認(rèn)會對上傳的文件先在本地進(jìn)行緩存,再轉(zhuǎn)發(fā)到應(yīng)用服務(wù)器。請問怎么禁止掉這個緩存,讓Nginx只轉(zhuǎn)發(fā)而不緩存文件?本文給大家詳細(xì)介紹Nginx上傳文件全部緩存解決方案,有需要的朋友來參考下
    2015-08-08
  • cookie 最近瀏覽記錄(中文escape轉(zhuǎn)碼)具體實現(xiàn)

    cookie 最近瀏覽記錄(中文escape轉(zhuǎn)碼)具體實現(xiàn)

    cookie 最近瀏覽記錄(中文escape轉(zhuǎn)碼)具體實現(xiàn),需要的朋友可以參考一下
    2013-06-06

最新評論

无极县| 乌兰县| 青冈县| 垦利县| 四平市| 遂溪县| 且末县| 乐陵市| 清河县| 朝阳区| 杨浦区| 通河县| 慈溪市| 临桂县| 吉安县| 敦煌市| 政和县| 桐乡市| 涿鹿县| 灵川县| 威海市| 来安县| 松溪县| 镇巴县| 灵川县| 双峰县| 鲁山县| 饶平县| 遂溪县| 巴青县| 华亭县| 赤峰市| 乌拉特中旗| 隆昌县| 临高县| 进贤县| 衡南县| 鄂尔多斯市| 莱州市| 尖扎县| 嘉峪关市|