JavaScript對象的詳解
JavaScript對象你不知道的細節(jié)
為什么有的編程規(guī)范要求用 void 0 代替 undefined
- undefined 為未定義,任何值在賦值之前都是undefined
- null 是關(guān)鍵字,表示定義為空
字符串有最大長度嗎?
- string用于表示文本數(shù)據(jù)。string最大長度為2^53 - 1
0.1 + 0.2 不是等于 0.3 么?為什么 JavaScript里不是這樣的
- (Math.abs(0.1 + 0.2 - 0.3) <= Number.EPSILON
Symbol
- Symbol 是 ES6 中引入的新類型,它是一切非字符串的對象 key 的集合,在 ES6 規(guī)范中,整個對象系統(tǒng)被用 Symbol 重塑。
編程基于模擬類還是原型
基于原型的語法 如(new 、Function Object、函數(shù)的prototype)
- 如果所有對象都有私有字段【prototype】,就是對象的原型
- 讀一個屬性,如果對象本身沒有,責會繼續(xù)訪問對象的原型,直到找到原型或者原型為空為止。
** ES6以來,JavaScript提供了一系列內(nèi)置函數(shù),以便于直接訪問操作原型。三個方法分別為 - Object.create
- Object.getPrototypeOf
- Object.setPrototypeOf