對(duì)象 原型鏈 部分存疑
var obj=Object.create({x:2}); typeof obj.toString(); 為什么我得到的是“string”??? 還有用new 和create創(chuàng)建出來的對(duì)象為什么hasOwnProperty()返回的會(huì)不同呢
var obj=Object.create({x:2}); typeof obj.toString(); 為什么我得到的是“string”??? 還有用new 和create創(chuàng)建出來的對(duì)象為什么hasOwnProperty()返回的會(huì)不同呢
2018-03-22
舉報(bào)
2019-10-18
當(dāng)用構(gòu)造函數(shù)或?qū)ο笞置媪糠椒▌?chuàng)建空對(duì)象時(shí),對(duì)象時(shí)有原型屬性的,即有
_proto_
;當(dāng)用Object.create()方法創(chuàng)建空對(duì)象時(shí),對(duì)象是沒有原型屬性的。
2019-10-18
new?Object()通過構(gòu)造函數(shù)創(chuàng)建對(duì)象,添加的屬性是在自身實(shí)例下面;
Object.create?可以理解為繼承一個(gè)對(duì)象,添加的屬性在原型下面;
Object.create() 用第二個(gè)參數(shù)來創(chuàng)建非空對(duì)象的屬性描述符默認(rèn)是為false的,而構(gòu)造函數(shù)或字面量方法創(chuàng)建的對(duì)象屬性的描述符默認(rèn)為true(可修改,可枚舉,可寫入)。
2018-05-25
?1. obj.toString() 意思是調(diào)用obj原型上的toString函數(shù),調(diào)用toString方法返回的是一個(gè)字符串,所以typeof obj.toString() 是string? ?
而??obj.toString 只是顯示object.prototype的toString函數(shù),不會(huì)去調(diào)用.
2. Object.create創(chuàng)建的對(duì)象屬性會(huì)存在對(duì)象的原型里面,
如var obj = Object.create({x:1}),相當(dāng)于var obj = {}; obj.prototype.x = 1;
而new 只是存在對(duì)象上
2018-03-23
1、你用的是toString() 會(huì)被轉(zhuǎn)換成一個(gè)字符串 "[object Object]"。
2、new創(chuàng)建的屬性還是屬于字面量的對(duì)象屬性,
??? ? create創(chuàng)建的屬性是屬于原型里的屬性了,
????? hasOwnProperty(“key”)? 只能識(shí)別字面量的屬性,原型里的屬性都會(huì)返回false