久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

JavaScript構(gòu)造函數(shù)原理及實現(xiàn)流程解析

瀏覽:106日期:2023-10-07 17:08:29

在學習構(gòu)造函數(shù)之前我們需要知道我們學習構(gòu)造函數(shù)需要學習什么:

1.什么是構(gòu)造函數(shù)

2.構(gòu)造函數(shù)用來做什么

3.構(gòu)造函數(shù)的執(zhí)行過程

4.構(gòu)造函數(shù)的返回值

1.所以首先我們需要知道什么是構(gòu)造函數(shù):

在我看來,構(gòu)造函數(shù)具有兩個特點可以判斷是否為構(gòu)造函數(shù):

1.當函數(shù)名為首字母大寫時,這個是一個可以大概判斷構(gòu)造函數(shù)與普通函數(shù)的一個特點,但是不是絕對正確,因為普通函數(shù)也可以是大寫字母開頭

2.當我們需要調(diào)用構(gòu)造函數(shù)時我們需要new <構(gòu)造函數(shù)>,也就是產(chǎn)生一個實例化對象。

function Student(name,age,sex,height){ this.name=name; this.age=age; this.sex=sex; this.height=height; } //調(diào)用構(gòu)造函數(shù),也就是實例化一個對象。 var p=new Student(’luke’,23,’nan’,180) console.log(p);

控制臺輸出:

JavaScript構(gòu)造函數(shù)原理及實現(xiàn)流程解析

可以看出輸出的是一個對象

2.構(gòu)造函數(shù)是用來做什么的:

1.當我們平時創(chuàng)建對象時可能會用如下創(chuàng)建對象的方式來創(chuàng)建,上代碼:

//用創(chuàng)建對象方式來創(chuàng)建 var stu1={name:’zs’,age:20,sex:'male',height:186}; var stu2={name:’ls’,age:21,sex:'male',height:180} var stu3={name:’ww’,age:22,sex:'female',height:156} var stu4={name:’jx’,age:23,sex:'female',height:165} var stu5={name:’xf’,age:24,sex:'male',height:180}

2.當我們用構(gòu)造函數(shù)來創(chuàng)建這個對象時:

//用構(gòu)造函數(shù)來創(chuàng)建對象 function Student(name,age,sex,height){ this.name=name; this.age=age; this.sex=sex; this.height=height; } var stu1=new Student(’zs’,20,'male',186); var stu2=new Student(’ls’,21,'male',180); var stu3=new Student(’ww’,22,'female',156); var stu4=new Student(’jx’,23,'female',165); var stu5=new Student(’xf’,24,'male',180);

這樣看起來是不是要簡潔的多呢,這里因為只有五個人,要是五六十個就會看出明顯效果

3.構(gòu)造函數(shù)的執(zhí)行過程

在前面我們知道了構(gòu)造函數(shù)是什么,和其作用,也通過代碼來看出了構(gòu)造函數(shù)的作用。那我現(xiàn)在我們需要知道構(gòu)造函數(shù)的執(zhí)行過程,因為學習一個東西我們需要學習其原理,而不是其表面

所以接下來我就來講一講構(gòu)造函數(shù)的執(zhí)行過程:

在之前我們都知道,要調(diào)用構(gòu)造函數(shù)我們需要在其前面加一個new關鍵字,所以主要就是new在其作用,在執(zhí)行new關鍵字后,很明顯,他跟以往的函數(shù)調(diào)用就不同了,他會依次執(zhí)行以下步驟:

1.new過后會產(chǎn)生一個空對象,作為一個返回的對象實例

2.將空對象的原型指向了構(gòu)造函數(shù)的prototype屬性

3.將空對象的值賦值給構(gòu)造函數(shù)里面的this值

4.開始執(zhí)行構(gòu)造函數(shù)里的代碼

4.構(gòu)造函數(shù)的返回值

知道了其執(zhí)行過程,顯而易見,new關鍵字創(chuàng)建的實例對象為構(gòu)造函數(shù)的返回值。

其實這是不對的,哈哈。

返回值需要分情況來定:

1.當函數(shù)中沒有return來返回值的時候,會返回this,也就是實例化對象。就像在說2.構(gòu)造函數(shù)有什么作用時說的一樣

2.當函數(shù)中return中返回一個復雜類型數(shù)據(jù)的時候,構(gòu)造函數(shù)會返回這個復雜類型數(shù)據(jù),上代碼:

function Student(name,age,sex,height){ this.name=name; this.age=age; this.sex=sex; this.height=height; return {name:’fanhui’,weight:60} } var Stu1=new Student(’zs’,20,'male',186); console.log(Stu1);

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产一区精品在线 | 在线不卡一区 | 韩日在线观看视频 | 三级在线观看 | 91色视频在线观看 | 一区二区三区国产 | 天天曰 | 在线欧美日韩 | 成人免费视频视频在线观看 免费 | 日本一区二区精品 | 视频精品一区二区三区 | 国产一区二区精品在线观看 | 欧美另类一二三四 | 情趣视频在线免费观看 | 国产午夜精品久久 | 日韩在线中出 | 欧美一级做性受免费大片免费 | 息与子猛烈交尾一区二区 | 亚洲精品一区在线观看 | 亚洲好看站 | www.99日本精品片com | 精品少妇一区二区三区日产乱码 | 免费在线观看成年人视频 | 中文字幕av第一页 | 国产高清精品一区二区三区 | 高清视频一区 | 这里只有精品视频 | 午夜久久久 | 欧美精品在线免费观看 | 成人免费淫片aa视频免费 | chinese中国真实乱对白 | 国产精品久久久麻豆 | 91久久在线| 黄网站涩免费蜜桃网站 | 国产一极片 | 看一级黄色大片 | 视频一区二区三区在线观看 | 国产在线观看91一区二区三区 | 国产色 | 在线观看免费毛片视频 | 99免费看 |