構(gòu)造函數(shù)其實也就是常規(guī)函數(shù),但是在命名時首字母要大寫,并且調(diào)用構(gòu)造函數(shù)時注意要用new關(guān)鍵字實例化,這樣的使用意味著this在開始時創(chuàng)建空,并在結(jié)束時返回填充的空,接下來將在文章中為大家詳細(xì)介紹。
構(gòu)造函數(shù)生成
this在開始時創(chuàng)建空,并在結(jié)束時返回填充的空
function Student(name age){ this.name=name; this.age=age; } var student=new Student("張三","18"); var student1=new Student("李四","19");
在執(zhí)行函數(shù)的過程時Student()時會執(zhí)行以下步驟:
(1)創(chuàng)建并分配新的空對象this。
(2)函數(shù)體執(zhí)行。通常它會修改this,為其添加新屬性。
(3)this返回值。
同樣,如果我們想要創(chuàng)建更多的student,我們可以調(diào)用new Student(),每次方法簡單而且也易于閱讀。
這是構(gòu)造函數(shù)的主要目的:實現(xiàn)可重用的對象創(chuàng)建代碼。
構(gòu)造函數(shù)返回
一般情況下,構(gòu)造函數(shù)沒有return聲明,他們的任務(wù)是將所需要的東西寫入this,并自動生成結(jié)果。
但是如果有return的話,就會變得很簡單了,比如return使用object調(diào)用,則返回的不是this,也就是return對象返回該對象,this則返回所有其他情況
例如,這里通過返回一個對象來return覆蓋this
function Student() { this.name = "張三"; return { name: "李四" }; //return 一個對象 } console.log( new Student().name );
因為return 一個對象,所以返回的是return里面的值而不是this中的值
但是如果我們return的是一個空值,那么返回的就是this值
<script> function Student() { this.name = "張三"; return; //return 一個空對象 } console.log(new Student().name ); </script>
構(gòu)造函數(shù)中的方法
構(gòu)造函數(shù)不僅可以添加屬性還可以添加方法,使構(gòu)造函數(shù)來創(chuàng)建對象更加靈活
<script> function Student(name) { this.name = name; this.friend=function(){ console.log("this my friend:"+this.name); }; } var student=new Student("張三"); student.friend(); </script>
總結(jié):
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com