第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

為什么JavaScript中 String.length==1?

為什么JavaScript中 String.length==1?

蕪湖不蕪 2019-05-24 18:28:43
有個疑問一直沒搞明白。String.length原文如下:ThestaticpropertyString.lengthreturnsthevalue1.兩個問題:為什么String.length==1staticproperty,靜態(tài)屬性。在JavaScript中有靜態(tài)屬性這個概念?就像Java一樣,靜態(tài)屬性是屬于類的屬性(與實例無關,所有實例共享),但JS中連類都沒有(ES5),所以這說不通啊。
查看完整描述

2 回答

?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

先解答第二個問題,這個其實只是搬用過來的說法而已,指屬性可以直接使用,不需要new。當然ES6以后就有了真正的static方法。
看回第一個問題,等于1的原因其實不在于String
看spec你會發(fā)現String只有四個屬性:String.fromCharCode、String.fromCodePoint、String.prototype和String.raw。
這個length其實繼承于Function.prototype的,函數實例的length為聲明的參數長度,String接受一個value參數,所以length為1
                            
查看完整回答
反對 回復 2019-05-24
?
神不在的星期二

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

ES5你可以把一個函數視為構造函數,進而視為一個類。而js又可以給函數附加成員,那么這些就算是靜態(tài)成員了。至于1,不知道,規(guī)定如此,那就如此吧…………
functionTest(first,last){
//實例成員
this.first=first
this.last=last
}
//當作靜態(tài)成員,實例不可訪問
Test.test='test'
//實例可訪問的成員
Object.defineProperty(Test.prototype,'fullName',{
get(){returnthis.first+''+this.last},
})
lett=newTest('Achael','Akinkaka')
console.log(Test.test)//'test'
console.log(t.test)//undefined
console.log(t.first)//'Achael'
console.log(t.last)//'Akinkaka'
console.log(t.fullName)//'AchaelAkinkaka'
                            
查看完整回答
反對 回復 2019-05-24
  • 2 回答
  • 0 關注
  • 1171 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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