建構函式和原型模式混合使用

2022-08-23 22:48:11 字數 1145 閱讀 8693

一天天的過去了,感覺在混日子,從新撿起js高程,感覺似曾相識,又很陌生,果然不同時間段看到的東西不一樣,準備每天花一小時,在高程上,每天一部落格,寫給懶惰的自己

function peson(name,age,job) 

var peson1 = new peson(xx, 1, dd)

var peson2 = new peson(xm,2 cc)

\\ peson1 和peson2new出來兩個例項,相當於建構函式的方法執行了兩次,所以可以把相同的放在原型屬性中,不同的s時候在用這種模式

person.prototype = 

}var peson1 = new peson()

var peson2 = new peson()

peson1.sayname() === peson2.sayname()

在原型中,兩個例項公用乙個方法

function person(name, age, job)

person.prototype =

}var person1 = new person("nicholas", 29, "software engineer");

var person2 = new person("greg", 27, "doctor");

person1.friends.push("van");

alert(person1.friends); //"shelby,count,van"

alert(person2.friends); //"shelby,count"

alert(person1.friends === person2.friends); //false

alert(person1.sayname === person2.sayname); //true

在這個例子中,例項屬性都是在建構函式中定義的,而由所有例項共享的屬性 constructor 和方法 sayname() 則是在原型中定義的。而修改了 person1.friends (向其中新增乙個新字串),並不會影響到 person2.friends ,因為它們分別引用了不同的陣列

5 5 混合模式(建構函式加原型模式)建立物件

一 屬性放在建構函式裡方法放在原型上 建構函式 function person name,age 原型模式 person.prototype.fn function name var p1 newperson mrs陳 23 console.log p1 person p1.fn 卡卡 卡卡 con...

建立物件之組合使用建構函式和原型模式

建立自定義型別的常見方式,就是組合使用建構函式模式與原型模式。建構函式模式用於定義例項屬性,而原型模式用於定義方法和共享的屬性。結果,每個例項都會有自己的乙份例項屬性的副本,但同時又共享著對方法的引用,大限度地節省了記憶體。另外,這種混成模式還支援向建構函式傳遞參 數 可謂是集兩種模式之長。例如 f...

建立物件 建構函式,原型模式(一)

在建立單個物件的時候,有兩個基本的方法。使用object建構函式或者使用物件字面量。但假如說我們需要建立許多具有部分相同方法,部分相同屬性的一類物件,那麼這樣乙個乙個去建立這樣一類的物件,效率就十分低下,會堆砌出大量重複的 所以開發人員發明了一種函式,用函式來封裝以特定介面建立的物件,例如下面的 在...