詳解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的空對(duì)象。
2.將構(gòu)造函數(shù)中的Foo的this指向?qū)ο骹oo。
3.foo的_proto_屬性指向Foo函數(shù)的prototype原型。
4.執(zhí)行構(gòu)造函數(shù)中的代碼。
相對(duì)于普通函數(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的是五種簡(jiǎn)單數(shù)據(jù)類型:String,Number,Boolean,Null,Undefined。
這種情況下,忽視r(shí)eturn值,依然返回this對(duì)象。
2.return的是Object。
這種情況下,不再返回this對(duì)象,而是返回return語(yǔ)句的返回值。
總結(jié)
以上所述是小編給大家介紹的JS構(gòu)造函數(shù)中this和return,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
js 將多個(gè)對(duì)象合并成一個(gè)對(duì)象 assign方法的實(shí)現(xiàn)
這篇文章主要介紹了js 將多個(gè)對(duì)象合并成一個(gè)對(duì)象 assign方法的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09CSS+Js遮罩效果的TAB及焦點(diǎn)圖片切換(推薦)
CSS+Js圖片切換技術(shù),類似的已有不少了,這一個(gè)使用了遮罩過(guò)渡的效果,同樣應(yīng)用到了TAB選項(xiàng)卡上,本頁(yè)面僅是為了演示,大家用時(shí)候把它拆分開(kāi)來(lái),這個(gè)效果也對(duì)學(xué)習(xí)圖片效果制作很有幫助。2009-11-11jquery ajax應(yīng)用中iframe自適應(yīng)高度問(wèn)題解決方法
很多管理系統(tǒng)中,都使用iframe進(jìn)行信息內(nèi)容的展示方式,或者作為主菜單的鏈接展示內(nèi)容。使用iframe的問(wèn)題就是自適應(yīng)高度的問(wèn)題2014-04-04javascript面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)踐常用知識(shí)點(diǎn)總結(jié)
這篇文章主要介紹了javascript面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)踐常用知識(shí)點(diǎn),結(jié)合實(shí)例形式總結(jié)分析了javascript面向?qū)ο蟪绦蛟O(shè)計(jì)中原型引用類型、屬性、方法相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-07-07elemetUi 組件--el-upload實(shí)現(xiàn)上傳Excel文件的實(shí)例
這篇文章主要介紹了elemetUi 組件--el-upload實(shí)現(xiàn)上傳Excel文件的實(shí)例的相關(guān)資料,希望通過(guò)本文大家能夠?qū)崿F(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10Bootstrap教程JS插件滾動(dòng)監(jiān)聽(tīng)學(xué)習(xí)筆記分享
這篇文章主要為大家分享了Bootstrap教程JS插件滾動(dòng)監(jiān)聽(tīng)學(xué)習(xí)筆記,內(nèi)容很詳細(xì),感興趣的小伙伴們可以參考一下2016-05-05