建構函式與普通函式的比較

2021-08-03 16:53:53 字數 940 閱讀 3629

在js中,用new關鍵字來呼叫定義的建構函式。預設返回的是乙個新的物件具有建構函式定義的變數和方法。

先來寫個建構函式的例子:

function prince(name,age)

prince.prototype.tofrog=function()

var prince=new prince("charming",25);

prince.tofrog();//prince charming turned into a frog.

prince.kind;//true

建構函式與普通函式的區別就是:

1、用new關鍵字呼叫

var prince = new prince(「charming」,25);

2、函式內部可以使用this關鍵字(普通函式原則上不可以!因為普通函式的this相當於window)

在建構函式內部,this指向的是構造出的新物件。用this定義的變數貨函式/方法,就是例項變數/例項函式/方法。需要用例項才能訪問到,不能用型別名訪問。

prince.age;//25

prince.age;//undefined

3、預設不用return返回值

建構函式是不需要用return顯示返回值,缺省會返回this,也就是新的例項物件。當然,也可以用return語句,返回值會根據return值的型別而有所不同。

4、函式命名建議首個字母大寫,與普通函式區分開。

不是命名規範,但是建議這麼寫。

function common()

common();

//自行腦補建構函式和普通函式的區別

普通函式與建構函式

1 普通函式 function normalfn normalfn 2 建構函式 建構函式建議首字母大寫,與普通函式區分開 function animal name animal.prototype.sayname function var dog new animal 狗 dog.sayname ...

Javascript 建構函式與普通函式

建構函式與普通函式從本質上是沒有區別的,只不過建構函式可以通過new關鍵字來進行構造例項,從而使例項擁有函式的方法和屬性。建構函式的執行過程 eg var children new parent 1.建立乙個物件 children,children 可以成為是person建構函式的例項。2.建立乙個...

建構函式與普通函式的區別

在命名規則上,建構函式一般是首字母大寫,普通函式遵照小駝峰式命名法。在函式呼叫的時候 function fn 建構函式 1.new fn 2 建構函式內部會建立乙個新的物件,即f的例項 3.函式內部的this指向 新建立的f的例項 4.預設的返回值是f的例項 普通函式 1.fn 2.在呼叫函式的內部...