1. 程式人生 > >js new關鍵字

js new關鍵字

實現new 關鍵字只需4步

1. 宣告一個物件;

2. 把這個物件的__proto__ 指向建構函式的 prototype;

3. 以建構函式為上下文執行這個物件;

4. 返回這個物件。

簡潔的程式碼示例如下:

function _new () {
	var f = Array.prototype.shift.call(arguments);
	var o = Object.create(f.prototype);
	f.apply(o, arguments);
	return o;
}

使用如下:

function Pers (name, age) {
	this.name = name;
	this.age = age;
	this.speak = function () {
		console.log(this.name);
	}
}

var p2 = _new(Pers, 'xiaohua', 100);

console.log(p2);

p2.speak();