国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

javascript - 關于對象的一個問題,哪位可以幫忙解釋一下?

瀏覽:109日期:2022-11-22 16:58:05

問題描述

var a={};var b={key:1};var c={key:2};a[b]=3;a[c]=4;console.log(a[b]);我個人認為a[b]的內容應該是3,上面的var b和var c都是沒有用處的,但是實際的答案是a[c]為4,所以我有點理解不了了,js中對于對象的解釋是怎樣的呢,這個是怎樣給占據的?望大神可以解釋一下,感激不盡。。。。。。。

問題解答

回答1:

我猜你的問題是值為什么被覆蓋了是吧.Javascript 中,當通過 [] 訪問對象屬性時, 方括號中的表達式將會被求值并被轉換成一個字符串,調用它的toString方法.所以:

var a = {};b={key:1};console.log(b.toString()); // [object Object]a[b]=3;console.log(typeof Object.keys(a)[0]); // string, 屬性名 b 轉換成了字符串.

所以 b 和 c 均轉換成相同的字符串 [object Object]. 所以再次賦值就會被覆蓋.

回答2:

因為b.toString() 和 c.toString() 都是 [Object object] ,所以就一樣啰

標簽: JavaScript
主站蜘蛛池模板: 青田县| 漠河县| 嵊州市| 黑山县| 虹口区| 泰宁县| 邵阳市| 儋州市| 广南县| 龙岩市| 盖州市| 庆阳市| 民权县| 太保市| 德兴市| 兖州市| 类乌齐县| 昭平县| 师宗县| 太保市| 渝北区| 霸州市| 北安市| 东宁县| 高台县| 旺苍县| 穆棱市| 大兴区| 嘉义县| 辉南县| 龙胜| 建德市| 高碑店市| 黄梅县| 静安区| 西林县| 乐业县| 砀山县| 嘉鱼县| 拜泉县| 安宁市|