詳解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ù)實(shí)例化發(fā)生的流程:
1.建立一個(gè)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。
這種情況下,忽視r(shí)eturn值,依然返回this對象。
2.return的是Object。
這種情況下,不再返回this對象,而是返回return語句的返回值。
總結(jié)
以上所述是小編給大家介紹的JS構(gòu)造函數(shù)中this和return,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言小編會及時(shí)回復(fù)大家的!
相關(guān)文章
微信小程序?qū)崿F(xiàn)短信登錄的實(shí)戰(zhàn)
項(xiàng)目要求增加短信登錄及人臉識別登錄功能,本文就來實(shí)現(xiàn)一下 短信登錄功能,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
js利用數(shù)組length屬性清空和截短數(shù)組的小例子
這篇文章主要介紹了js利用數(shù)組length屬性清空和截短數(shù)組的小例子,有需要的朋友可以參考一下2014-01-01
利用svg實(shí)現(xiàn)帶加載進(jìn)度的loading
svg是基于XML,由World?Wide?Web?Consortium?(W3C)聯(lián)盟開發(fā)的一種開放標(biāo)準(zhǔn)的矢量圖形語言,可讓你設(shè)計(jì)激動人心的、高分辨率的Web圖形頁面。本文將使用svg實(shí)現(xiàn)一個(gè)帶加載進(jìn)度的loading,需要的可以參考一下2022-11-11
JS動態(tài)添加的div點(diǎn)擊跳轉(zhuǎn)到另一頁面實(shí)現(xiàn)代碼
這篇文章主要介紹了JS動態(tài)添加的div點(diǎn)擊跳轉(zhuǎn)到另一頁面實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-09-09
js防抖具體實(shí)現(xiàn)以及詳細(xì)原理步驟說明(附實(shí)例)
節(jié)流和防抖這里兩個(gè)詞可能對一些初入JavaScript的同學(xué)比較陌生,下面這篇文章主要給大家介紹了關(guān)于js防抖具體實(shí)現(xiàn)以及詳細(xì)原理步驟的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
Javascript 獲取字符串字節(jié)數(shù)的多種方法
Javascript 字符串字節(jié)數(shù)獲取功能多種方法2009-06-06

