亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

function函數與實例化的function是什么關系?他們不都是對象嗎?

function函數與實例化的function是什么關系?他們不都是對象嗎?

躍然一笑 2018-08-10 10:09:12
function tom(){this.age = "15"; }var tom = new Object; tom.age = "15";function是對象,new object也是,上述兩個代碼是不是等價的?另外,他們與下面這段代碼中的x的關系是什么? 謝謝function tom(){this.age = "15"; }var x = new Object();
查看完整描述

1 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

首先,你定義的function tom(){this.age = "15";}(建議寫成function Tom(){this.age = "15";})是一個構造器,可以看成是自定義的一個類,及Tom這個類。由Tom()創建出的對象中存在一個屬性constructor指向這個構造器。
而后創建的tom對象var tom = new Object();其是由Object這個類創建的,所以兩種創建方式創建出來的新對象類型是不一樣的,而且由Object創建出的對象擴展性沒有自定義構造器創建的對象好。
具體的你可以參考《javascript高級程序設計》有關繼承和構造器相關的章節;
最后,var tom = new Object;這樣寫是錯的,應該這樣寫才是調用var tom = new Object();這里的tom和你最后定義的x是一回事只不過儲存的變量不同而且等同于var x = {}

查看完整回答
反對 回復 2018-09-23
  • 1 回答
  • 0 關注
  • 744 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號