JS 建構函式在 new 時做了啥?

2021-10-09 01:09:52 字數 579 閱讀 1978

1、var obj = {};    //建立乙個臨時物件;

2、obj.__proto__ = people.prototype;    //將該臨時物件原型指向建構函式原型

3、people.call(obj, "孫悟空");    //將建構函式中 this 指向臨時物件,並傳入引數 "孫悟空"

4、return obj;    //返回臨時物件,person 指向建立的 obj 物件(物件型別賦值為按引用傳遞,obj 與 person 指向同乙個物件)

//建立建構函式

function people(name)

//使用new建立例項物件person

var person = new people("孫悟空");

person =

var person = function();

obj.__proto__ = people.prototype;

people.call(obj, "孫悟空");

return obj;

}()//使用立即執行函式(iife)

person =

JS 建構函式 原型 new

1 每個函式都有乙個prototype屬性,該屬性指向函式的原型物件,原型物件的用途是可以讓所有物件例項共享它所包含的屬性和方法。2 預設情況下,每個原型物件都會自動獲得乙個constructor屬性,該屬性指向prototype屬性所在的函式。constructor屬性最初是用來標識物件型別的,但...

在建構函式中使用new時應注意的事項

1,如果在建構函式中使用new來初始化物件的指標成員時,應在析構函式中使用delete 2 new和delete要相容。new對應與delete new對應與delete 3,如果有多個建構函式,則必須以相同的方式使用new 要麼都帶括號,要麼都不帶,因為只有乙個析構函式,因此所有的構造方法要相容。...

在建構函式中使用new時應注意的事項

在c 中使用new來初始化物件的指標成員時必須注意如下事項 1.如果在建構函式中使用new來初始化指標成員,則應在析構函式中使用delete來釋放。2.new和delete必須相互相容,new對應與delete new 對應於delete 3.如果存在多個建構函式,則必須以相同的方式使用new,要麼...