1、普通函式
function normalfn()
normalfn();
2、建構函式(建構函式建議首字母大寫,與普通函式區分開)
function animal(name)
animal.prototype.sayname = function()
}var dog = new animal("狗");
dog.sayname();
3、普通函式與建構函式的區別
(1)、呼叫方式:建構函式使用new關鍵字呼叫
使用new關鍵字呼叫發生了什麼?
a、第一步,建立乙個空物件。var dog={}
b、第二步,將建構函式animal()中的this指向新建立的物件dog。
c、第三步,將dog的_proto_屬性指向animal函式的prototype,建立物件和原型間關係
d、第四步,執行建構函式animal()內的**。
(2)、this:普通函式不建議使用this,普通函式的this指向window,這樣無意間就會為window新增了一些全域性變數或函式
建構函式的this指向例項物件
(3)、返回值:建構函式預設返回this即新的例項物件。也可以用return語句返回,返回值會根據return的型別有所不同,
當建構函式裡呼叫return時,分兩種情況:
a、return的是五種簡單資料型別:string,number,boolean,null,undefined。
這種情況下,忽視return值,依然返回this物件。
b、return的是object
這種情況下,不再返回this物件,而是返回return語句的返回值
Javascript 建構函式與普通函式
建構函式與普通函式從本質上是沒有區別的,只不過建構函式可以通過new關鍵字來進行構造例項,從而使例項擁有函式的方法和屬性。建構函式的執行過程 eg var children new parent 1.建立乙個物件 children,children 可以成為是person建構函式的例項。2.建立乙個...
C 建構函式與普通成員函式,建構函式過載
建構函式是類的成員函式,用於初始化類的物件。在c 中,建立物件 類的例項 時會自動呼叫建構函式。它是類的特殊成員函式。在以下方面有所不同 建構函式與類本身具有相同的名稱 建構函式沒有返回型別 建立物件時會自動呼叫建構函式 如果我們未指定建構函式,則c 會自動生成乙個預設建構函式 不帶引數,並且是空主...
建構函式與普通函式的區別
在命名規則上,建構函式一般是首字母大寫,普通函式遵照小駝峰式命名法。在函式呼叫的時候 function fn 建構函式 1.new fn 2 建構函式內部會建立乙個新的物件,即f的例項 3.函式內部的this指向 新建立的f的例項 4.預設的返回值是f的例項 普通函式 1.fn 2.在呼叫函式的內部...