JavaScript 引用構造函數(shù)
■知識點
在普通函數(shù)內(nèi),使用arguments.callee可以引用函數(shù)自身。如果在嚴格模式下,是不允許使用arguments.callee引用函數(shù)的,這時可以使用new.target來訪問構造函數(shù)。
■實例設計
下面的示例在構造函數(shù)內(nèi)部使用new.target指代構造函數(shù)本身,以便對用戶操作進行監(jiān)測,如果沒有使用new命令,則強制使用new實例化。
function Point (x, y) { //構造函數(shù)
'use strict'; //啟用嚴格模式
if(!(this instanceof new.target)) return new new.target(x, y);
//檢測this是否為實例對象
this.x = x; //私有屬性
this.y = y //私有屬性
}
var p1 = new Point (100,200) ; //實例化對象 1
console . log (pi .x) ; //100
點擊加載更多評論>>