new建構函式和原型鏈

2021-08-07 04:30:56 字數 1298 閱讀 6965

new建構函式
functionpeople(name,age)
這個函式是不是建構函式?他沒有被呼叫,用new呼叫後就是建構函式,不被new呼叫就不是建構函式

functionpeople(name,age) 

varobj = people("小明"

,12);

alert(obj==null);

alert(obj.age);

看到這個結果為null,我們就可以知道,這個函式不被呼叫,因為沒有用new呼叫函式,所以宣告的obj物件就是null

js不是物件導向(oop)的,而是基於物件(bop)得到語言;

每乙個建構函式都有prototype屬性,指向乙個空物件

functionpeople(name,age,***) 

people.prototype=

varxiaoming=newpeople();

varxiaohong=newpeople();

varxiaogang=newpeople();

alert(xiaoming.teacher);

alert(xiaohong.teacher);

alert(xiaogang.iq);

最後顯示的結果是:考拉,考拉180;這說明了即使構造的子集中沒有調取的屬性,還可以順著原型鏈找父類中的屬性

//

建構函式

functionpeople(name,age,***)

//更改建構函式的

prototype

:people.prototype=math;

varxiaoming=newpeople("小明"

,12,"

男");

//小明身上雖然沒有

random

屬性,但是小明的

_proto_

身上有這個屬性

//所以小明能夠大點呼叫

random

屬性;alert(xiaoming.random());

javascript原型和原型鏈,建構函式和例項

原型 建構函式 就是工廠,原型的例項就是工廠按照圖紙生成的工具 比如汽車 原型鏈 隱式的 就是生成的工具所具有的功能,而功能是工具的屬性,生成什麼樣的工具是由工廠 建構函式 決定的,圖紙是有工廠和客戶共同決定的 var ca ctory function options this.stop func...

JS 建構函式 原型 new

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

js 建構函式和原型鏈

比較new和object.create 建構函式 new 保留原建構函式屬性 object.create 丟失原建構函式屬性 原型鏈new 原建構函式prototype屬性 object.create 原建構函式 物件 本身 作用物件 new function object.create funct...