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