建構函式與普通函式從本質上是沒有區別的,只不過建構函式可以通過new關鍵字來進行構造例項,從而使例項擁有函式的方法和屬性。
建構函式的執行過程:
eg:var children = new parent()
1.建立乙個物件_children,children』可以成為是person建構函式的例項。
2.建立乙個內部物件,將this指向_children物件(實際是children的__proto__ 指向parent的原型物件prototype,此時便建立了_children 物件的原型鏈);
3.執行建構函式,將建構函式的屬性和方法賦值到chidlren的原型上。
4.返回值:
如果函式沒有返回值,則返回例項children;
如果函式的返回值是基本資料型別,則函式返回的的值是例項_children
如果函式的返回值是複雜資料型別,則函式返回的則是該值。
除了五種基本資料型別,其他都是物件資料型別(複雜的資料型別)。
怎麼判斷物件是哪個函式的例項
//***._proto_屬性(物件)中的constructor屬性,一般指向該函式。(在繼承中也會用到該知識點,來進行函式繼承的強化)。
JavaScript(建構函式)
ecmascript中的建構函式可以用來建立特定型別的物件。像object和arrray這樣的原生建構函式,在執行時會自動出現在執行環境中。也可以自定義建構函式,用來自定義物件型別的屬性和方法。function person name,age,job var person new person ma...
Javascript建構函式
建構函式注意事項 1.預設函式首字母大寫 2.建構函式並沒有顯示返回任何東西。new 操作符會自動建立給定的型別並返回他們,當呼叫建構函式時,new會自動建立this物件,且型別就是建構函式型別。3.也可以在建構函式中顯示呼叫return.如果返回的值是乙個物件,它會代替新建立的物件例項返回。如果返...
理解javascript建構函式 原型
函式是function型別的例項,即函式也是物件,故函式也擁有自己的方法,可增強其行為特性。建構函式的首字母大寫,且建構函式在被呼叫時,會經歷幾個步驟,建立乙個新物件,將建構函式的作用域賦給新物件,執行建構函式 返回新物件。建構函式 function dog food var dog new dog...