在线二区人妖系列_国产亚洲欧美日韩在线一区_国产一级婬片视频免费看_精品少妇一区二区三区在线

鍍金池/ 問答/數(shù)據(jù)分析&挖掘  網(wǎng)絡(luò)安全  HTML/ array.last = doSomething;數(shù)組通過點(diǎn)操作符賦值是什么意思

array.last = doSomething;數(shù)組通過點(diǎn)操作符賦值是什么意思?

看一個(gè)別人的代碼時(shí),發(fā)現(xiàn)這種操作,請(qǐng)問是什么意思。

    let stack = [];
    stack.last = function () {
        return this[this.length - 1];
    };

我自己在控制臺(tái)做這種操作,發(fā)現(xiàn)length是0,也不能通過索引訪問到。

clipboard.png

回答
編輯回答
命于你

clipboard.png

2017年11月12日 10:35
編輯回答
吃藕丑

JS里面的所有類都繼承Object,Array也不例外,所以你用對(duì)象賦值是可以的

2017年6月17日 06:23
編輯回答
枕頭人

萬物介對(duì)象 數(shù)組也是個(gè)對(duì)象 是對(duì)象就可以給他添加方法

2017年8月25日 13:44
編輯回答
心上人

就是給stack綁定一個(gè)靜態(tài)方法,你現(xiàn)在stack里面沒東西,當(dāng)然打出來的都是undefined

2018年6月24日 18:10
編輯回答
傲嬌范

謝邀!
疑惑一:點(diǎn)操作符添加方法
JavaScript 原生提供Object對(duì)象(注意起首的O是大寫),所有其他對(duì)象都繼承自這個(gè)對(duì)象。Array是JavaScript的內(nèi)置對(duì)象,所以O(shè)bject特有的方法和屬性,Array同樣也有。
疑惑二:數(shù)組length為0
stack.last賦值其實(shí)是開辟了兩個(gè)內(nèi)存地址,你可以理解把它理解成“雙胞胎”,長相一模一樣都叫stack,但雙胞胎歸雙胞胎,終究不是一個(gè)人,一個(gè)是哥哥對(duì)象,另一個(gè)是弟弟數(shù)組。你給哥哥賦值,并沒有給弟弟添加元素。而length是Array的實(shí)例屬性,返回或設(shè)置一個(gè)數(shù)組中的元素個(gè)數(shù)。這是弟弟數(shù)組的屬性,自始至終您并沒有對(duì)弟弟數(shù)組做什么,所以弟弟數(shù)組的length屬性還是0.

2017年2月2日 06:52