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