js中的原型

2022-05-24 14:27:07 字數 1552 閱讀 3087

一、在js中的建構函式與原型

js中沒有類的概念,只是把乙個物件例項化,這個物件一般會成為原型物件。js中所以的函式都有乙個prototype屬性,這個屬性引用了乙個物件, 即原型物件,也簡稱原型。這個函式包括建構函式和普通函式。

function a(x)

var demo = new a(1);

console.log(demo)

這其中最重要的是要有this 這個屬性,例項化以後才能直接用。new  以後this  指向的是新物件。

例項化  object  物件有三步:

1、建立obj物件:obj= new object();

2、將obj 的內部_proto_指向構造他的函式a的prototype。例項化的物件內部沒有prototype,他是通過_proto_來取得原型鏈上的原型屬性與原型方法。

obj._proto_.constructor === a.prototype.constructor ,類的例項物件的constructor屬性永遠指向"建構函式"的prototype.constructor),從而使得obj.constructor.prototype指向a.prototype

3. 將obj作為this去呼叫建構函式a,從而設定成員(即物件屬性和物件方法)並初始化。

var num=0;

for(o in

a.prototype)

alert("member: " + num);//

alert出原型所有成員個數。

二、原型與繼承

原型繼承:

function

a(x)

a.prototype.a = "a";

function

b(x,y)

b.prototype.b1 = function

() b.prototype = new

a();

b.prototype.b2 = function

() b.prototype.constructor =b;

var obj = new b(1,3);

function

a (x)

a.prototype.a ='a';

現在 function

a (x)

function

b (x,y)

現在

function

b (x,y)

b.prototye.b1=funcrion()

現在

function

b (x,y)

b.prototype = new

a();

現在 b.prototype

b.prototype.b2 = function

()現在:

b.prototype

} b.prototype.constructor =b;

var obj = new b(1,3);

輸出: function b(1,3)

obj :

JS中的原型

示例 function person person.prototype.name jingzi person.prototype.age 20 person.prototype.sayname function var person1 new person person1.sayname jingz...

js中的原型及原型鏈

1.什麼是原型 a.每乙個物件都有原型,使用屬性 proto 引用,除了null 用於指向建立它的建構函式的prototype b.原型就是該物件表示從 繼承。通過它可以實現屬性繼承。2.proto 和prototype 的區別 proto 是每乙個物件都有的屬性。原型鏈中真正起作用的是 proto...

JS中的原型及原型鏈

什麼是原型?原型的作用 資料共享 1.1原型的資料共享 在建構函式內部新增say方法 function person name 例項化 var p newperson 小明 var p1 newperson 小紅 console.log p.say p1.say false 總結 不同例項上的同名方...