詳解JS構(gòu)造函數(shù)中this和return
先看一段代碼,
function Foo(name,age){
this.name=name;
this.age=age;
}
var foo=new Foo("Tom",14);
foo.name;//Tom
foo.age;//14
使用構(gòu)造函數(shù)實例化發(fā)生的流程:
1.建立一個foo的空對象。
2.將構(gòu)造函數(shù)中的Foo的this指向?qū)ο骹oo。
3.foo的_proto_屬性指向Foo函數(shù)的prototype原型。
4.執(zhí)行構(gòu)造函數(shù)中的代碼。
相對于普通函數(shù),構(gòu)造函數(shù)中的this是指向?qū)嵗?,而普通函?shù)調(diào)用中的this是指向windows的。
構(gòu)造函數(shù)中如果加入了return的話,分兩種情況
function Foo(name,age){
this.name=name;
this.age=age;
return {name:"Jeff"}
}
var foo=new Foo("Tom",14);
foo.name;//Jeff
1.return的是五種簡單數(shù)據(jù)類型:String,Number,Boolean,Null,Undefined。
這種情況下,忽視return值,依然返回this對象。
2.return的是Object。
這種情況下,不再返回this對象,而是返回return語句的返回值。
總結(jié)
以上所述是小編給大家介紹的JS構(gòu)造函數(shù)中this和return,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言小編會及時回復(fù)大家的!
相關(guān)文章
微信小程序?qū)崿F(xiàn)短信登錄的實戰(zhàn)
項目要求增加短信登錄及人臉識別登錄功能,本文就來實現(xiàn)一下 短信登錄功能,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10
js利用數(shù)組length屬性清空和截短數(shù)組的小例子
這篇文章主要介紹了js利用數(shù)組length屬性清空和截短數(shù)組的小例子,有需要的朋友可以參考一下2014-01-01
JS動態(tài)添加的div點擊跳轉(zhuǎn)到另一頁面實現(xiàn)代碼
這篇文章主要介紹了JS動態(tài)添加的div點擊跳轉(zhuǎn)到另一頁面實現(xiàn)代碼,需要的朋友可以參考下2017-09-09
Javascript 獲取字符串字節(jié)數(shù)的多種方法
Javascript 字符串字節(jié)數(shù)獲取功能多種方法2009-06-06

