鍍金池/ 問(wèn)答/HTML/ 數(shù)值有l(wèi)ength屬性嗎

數(shù)值有l(wèi)ength屬性嗎

我在瀏覽器控制臺(tái)里直接輸入78.length回車(chē)是報(bào)錯(cuò)的,但是,

var someValue = 78;
var strLength = someValue.length;
console.log(strLength);

這樣不報(bào)錯(cuò),只輸出undefined,為什么?

回答
編輯回答
淺時(shí)光

clipboard.png

2018年5月27日 13:01
編輯回答
絯孑氣

Number類(lèi)型是沒(méi)有l(wèi)ength屬性的,可以參考MDN文檔Number類(lèi)型的描述

2018年9月9日 05:08
編輯回答
薔薇花

萬(wàn)物皆對(duì)象,Number類(lèi)型繼承于Number.prototype,Number.prototype繼承于Object.prototype,所以獲取number數(shù)值的length屬性,會(huì)去Number.prototype及Object.prototype上找,找不到返回undefined

那么為什么78.length會(huì)報(bào)錯(cuò)呢?這就要講到.的機(jī)制,在js中,.緊跟在整數(shù)后面會(huì)被理解為小數(shù)點(diǎn),所以78.length報(bào)錯(cuò),那么78.0.length就不會(huì)報(bào)錯(cuò),78..length也不會(huì)報(bào)錯(cuò),(78).length也不會(huì)報(bào)錯(cuò),把數(shù)值保存在變量中訪問(wèn)屬性也不會(huì)報(bào)錯(cuò)(這個(gè)和上一個(gè)加括號(hào)不抱錯(cuò)的原理一樣)

2017年4月25日 14:13
編輯回答
毀了心

沒(méi)有l(wèi)ength屬性的

2018年5月23日 00:08