undefined console.log(b.x);// --> [object Object] 上面的例子看似簡單,但結果并不好了解,很容易把人們給想繞了——a.x不是指向對象a了么?為" />

国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

javascript引用類型指針的工作方式_javascript技巧

來源:懂視網 責編:小采 時間:2020-11-27 21:36:56
文檔

javascript引用類型指針的工作方式_javascript技巧

javascript引用類型指針的工作方式_javascript技巧:先看個例子: var a = {n:1}; var b = a; a.x = a = {n:2}; console.log(a.x);// --> undefined console.log(b.x);// --> [object Object] 上面的例子看似簡單,但結果并不好了解,很容易把人們給想繞了——a.x不是指向對象a了么?為
推薦度:
導讀javascript引用類型指針的工作方式_javascript技巧:先看個例子: var a = {n:1}; var b = a; a.x = a = {n:2}; console.log(a.x);// --> undefined console.log(b.x);// --> [object Object] 上面的例子看似簡單,但結果并不好了解,很容易把人們給想繞了——a.x不是指向對象a了么?為
先看個例子:


這時候發生了這個事情——a指向的對象{n:1}新增了屬性x(雖然這個x是undefined的):

從圖上可以看到,由于b跟a一樣是指向對象A的,要表示A的x屬性除了用a.x,自然也可以使用b.x來表示了。

接著,依循“從右往左”的賦值運算順序先執行 a={n:2} ,這時候,a指向的對象發生了改變,變成了新對象{n:2}(我們稱為對象B):

接著繼續執行 a.x=a,很多人會認為這里是“對象B也新增了一個屬性x,并指向對象B自己”

但實際上并非如此,由于一開始js已經先計算了a.x,便已經解析了這個a.x是對象A的x,所以在同一條公式的情況下再回來給a.x賦值,也不會說重新解析這個a.x為對象B的x。

所以 a.x=a 應理解為對象A的屬性x指向了對象B:

那么這時候結果就顯而易見了。當console.log(a.x)的時候,a是指向對象B的,但對象B沒有屬性x。沒關系,當查找一個對象的屬性時,JavaScript 會向上遍歷原型鏈,直到找到給定名稱的屬性為止。但當查找到達原型鏈的頂部 - 也就是 Object.prototype - 仍然沒有找到指定的屬性B.prototype.x,自然也就

輸出undefined;

而在console.log(b.x)的時候,由于b.x表示對象A的x屬性,該屬性是指向對象B,自然也輸出了[object Object]了,注意這里的[object Object]可不是2個對象的意思,對象的字符串形式,是隱式調用了Object對象的toString()方法,形式是:"[object Object]"。所以[object Object]表示的就只是一個對象罷了

以上所述就是本文的全部內容了,希望大家能夠喜歡。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

javascript引用類型指針的工作方式_javascript技巧

javascript引用類型指針的工作方式_javascript技巧:先看個例子: var a = {n:1}; var b = a; a.x = a = {n:2}; console.log(a.x);// --> undefined console.log(b.x);// --> [object Object] 上面的例子看似簡單,但結果并不好了解,很容易把人們給想繞了——a.x不是指向對象a了么?為
推薦度:
標簽: js 類型的 javascript
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产99视频精品草莓免视看 | 韩国视频网站 | 久久国产成人精品 | 亚洲欧美色视频 | 欧美综合自拍亚洲综合百度 | 亚洲黄色一区二区 | 欧美在线 | 亚洲 | 精品在线一区 | 欧美日韩视频在线 | 欧美精品在线看 | 日韩国产欧美一区二区三区在线 | 91久久国产综合精品女同国语 | 精品国产网站 | 欧美成人精品第一区二区三区 | 欧美国产高清欧美 | 一区二区三区四区电影 | 日韩欧美国产另类 | 国产精品亚洲高清一区二区 | 欧美日韩免费一区二区三区 | 国产欧美在线观看一区二区 | 欧美成人福利 | 性久久久久久久久 | 欧美综合自拍亚洲综合 | 欧美性野久久久久久久久 | 一级一级特黄女人精品毛片视频 | 欧美一区二区三区视频在线 | 欧美精品亚洲 | 久久精品一区 | 国产免费高清视频在线观看不卡 | 日韩网站在线观看 | 国产成人精品曰本亚洲 | 国产精品视频一区二区三区经 | 国产片在线观看 | 国产精选视频在线观看 | 91久久国产| 国产h片在线观看 | 国产精品123 | 亚洲高清一区二区三区 | 国产精品大全国产精品 | 免费国产一区 | 成人黄色在线 |