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

為了賬號安全,請及時綁定郵箱和手機立即綁定

對象 原型鏈 部分存疑

var obj=Object.create({x:2}); typeof obj.toString(); 為什么我得到的是“string”??? 還有用new 和create創(chuàng)建出來的對象為什么hasOwnProperty()返回的會不同呢

正在回答

4 回答

當用構(gòu)造函數(shù)或?qū)ο笞置媪糠椒▌?chuàng)建空對象時,對象時有原型屬性的,即有_proto_;
當用Object.create()方法創(chuàng)建空對象時,對象是沒有原型屬性的。

0 回復 有任何疑惑可以回復我~

new?Object()通過構(gòu)造函數(shù)創(chuàng)建對象,添加的屬性是在自身實例下面;

Object.create?可以理解為繼承一個對象,添加的屬性在原型下面;

Object.create() 用第二個參數(shù)來創(chuàng)建非空對象的屬性描述符默認是為false的,而構(gòu)造函數(shù)或字面量方法創(chuàng)建的對象屬性的描述符默認為true(可修改,可枚舉,可寫入)。


0 回復 有任何疑惑可以回復我~

?1. obj.toString() 意思是調(diào)用obj原型上的toString函數(shù),調(diào)用toString方法返回的是一個字符串,所以typeof obj.toString() 是string? ?
而??obj.toString 只是顯示object.prototype的toString函數(shù),不會去調(diào)用.

2. Object.create創(chuàng)建的對象屬性會存在對象的原型里面,
如var obj = Object.create({x:1}),相當于var obj = {}; obj.prototype.x = 1;

而new 只是存在對象上

4 回復 有任何疑惑可以回復我~

1、你用的是toString() 會被轉(zhuǎn)換成一個字符串 "[object Object]"。
2、new創(chuàng)建的屬性還是屬于字面量的對象屬性,
??? ? create創(chuàng)建的屬性是屬于原型里的屬性了,
????? hasOwnProperty(“key”)? 只能識別字面量的屬性,原型里的屬性都會返回false

4 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript深入淺出
  • 參與學習       281095    人
  • 解答問題       1054    個

由淺入深學習JS語言特性,且解析JS常見誤區(qū),從入門到掌握

進入課程

對象 原型鏈 部分存疑

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號