亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

array.last = doSomething;數組通過點操作符賦值是什么意思?

array.last = doSomething;數組通過點操作符賦值是什么意思?

精慕HU 2019-02-20 21:19:27
看一個別人的代碼時,發現這種操作,請問是什么意思。    let stack = [];    stack.last = function () {        return this[this.length - 1];    };我自己在控制臺做這種操作,發現length是0,也不能通過索引訪問到。
查看完整描述

2 回答

?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

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

查看完整回答
反對 回復 2019-02-27
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

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


查看完整回答
反對 回復 2019-02-27
  • 2 回答
  • 0 關注
  • 473 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號