JavaScript 調(diào)用構(gòu)造函數(shù)
■知識點
使用new命令可以調(diào)用構(gòu)造函數(shù),創(chuàng)建實例,并返回這個對象。
■實例設(shè)計
針對上節(jié)的示例,下面使用new命令調(diào)用構(gòu)造函數(shù),生成兩個實例,然后分別讀取屬性,調(diào)用方法sum()。
function Point (x,y) { //構(gòu)造函數(shù)
this.x = x; //私有屬性
this.y = y; //私有屬性
this.sum = function (){ //私有方法
return this.x + this.y;
}
)
var p1 = new Point(100,200); //實例化對象1
var p2 = new Point(300,400); //實例化對象2
console.log(p1.x); //100
console.log(p2.x); //300
console.log(pi.sum()); //300
console.log(p2.sum()); //700
■小結(jié)
如果不使用new命令,直接使用小括號調(diào)用構(gòu)造函數(shù),這時構(gòu)造函數(shù)就是普通函數(shù),不會生成實例對象,this就代表調(diào)用函數(shù)的對象,在客戶端指代全局對象window。
為了避免誤用,最有效的方法是在函數(shù)中啟用嚴格模式。這樣調(diào)用構(gòu)造函數(shù)時,必須使用new命令,否則將拋出異常。
function Point(x,y){ //構(gòu)造函數(shù)
'use strict'; //啟用嚴格模式
this.x = x; //私有屬性
this.y = y; //私有屬性
點擊加載更多評論>>