js基礎複習3 建構函式 constructor

2021-10-22 12:27:43 字數 992 閱讀 3063

下面的**,我們可以看出,rabbit的原型物件prototype和rabbit例項物件r1的物件原型r1.__proto__裡面都有乙個constructor屬性:

很多情況下,我們需要手動利用constructor這個屬性指回原來的建構函式,比如我們剛才的rabbit建構函式裡面只有乙個方法sing,如果我們想把多個方法放到rabbit中,比如下面這樣:

這時我們的rabbit裡面就有兩個方法了,但是! 如果我們有很多很多的方法要放在rabbit裡面,那是不是可以考慮把這些方法全都包裹在乙個物件裡面呢?

這樣寫結構就清楚了很多,但是,我們看看後果是什麼。

我們重新new乙個r1,然後看看此時r1.__proto__rabbit.prototype是什麼樣子的:

omg!!它們不再指向原先的rabbit建構函式了!!

這樣肯定是不行的,這樣的話r1.__proto__rabbit.prototype就找不到它們的創造者(也就是rabbit建構函式是誰了),所以我們要手動去指回constructor:

這樣就搞定了!

JS基礎 建構函式

建立乙個建構函式,專門用來建立某類物件的 建構函式習慣首字母大寫 建構函式的執行流程 1.立刻建立乙個新的物件 2.將新建的物件設定為函式中的this,在建構函式 3.逐行執行函式中的 4.將新建的物件作為返回值返回 function person name,age,gender this.name...

js建構函式個人複習

建立物件的方式 通常我們用建構函式來描述一類物件或者具有公共屬性 方法的物件 建構函式建立方法 function 型別名 首字母大寫 var obj new 型別名 屬性值,屬性值 建構函式特點 例項的建構函式屬性 constructor 指向建構函式 當使用new來建立物件時,對應的函式就是建構函...

複習 JS基礎

以下算是經典的入門演算法吧,還記得第一次接觸時,感覺難得要命,現在來看,也不過如此!1 如果今天是星期六,那麼1000天後是星期幾?用一條語句計算出來。var a 1000 7 6 7 alert a 2 使用者輸入乙個三位數,用程式計算三位數字的和。比如 使用者輸入155,就彈出11 使用者輸入3...