為什麼通用的物件方法要加在原型中

2021-08-29 23:13:27 字數 1006 閱讀 5772

在建構函式中加屬性,原型中加方法。我學物件導向時一直記著的一句話,但為什麼方法要加在原型呢,今天再次看望遠鏡書時終於明白了。

將屬性和方法都寫在建構函式中沒問題,但問題在於每次進行例項化的過程中,重複建立功能不變的方法。

由於方法本質上是函式,其實也就是在堆記憶體中又新建了乙個物件空間儲存函式,造成了不必要的資源浪費。

解決辦法除了使用原型外,也可以令其指向乙個全域性的函式,從而避免重複建立方法。

函式內:

function person(name)

}var tom=new person('tom');

tom.sayname(); //tom

tom.hasownproperty('sayname'); //true

全域性函式物件:

function person(name)

function sayname()

var tom=new person('tom');

var mary=new person('mary');

tom.sayname(); //tom

mary.sayname(); //mary

tom.hasownproperty('sayname'); //true

原型:

function person(name)

person.prototype.sayname=function()

var tom=new person('tom');

var mary=new person('mary');

tom.sayname(); //tom

mary.sayname(); //mary

tom.hasownproperty('sayname'); //false

為什麼要原型設計

隨著原型應用的普及,越來越多的產品會採用原型設計來表述 完善整體需求,這樣做自然有其原因,但為何要進行原型設計呢?在回答這個問題前,首先要說一下溝通這個普遍存在的問題。人們在溝通過程中,乙個人通常只能說出心中所想的80 但對方聽到的最多只能是60 聽懂的卻只有40 結果執行時,只有20 了。心中的想...

為什麼要物件導向

一 物件導向,這個物件到底是什麼?這個物件不是c 中的例項,c 中我們把乙個類的例項也叫做物件,這種物件嚴格的說應該是物件導向的程式設計實現 oop 中的物件,物件導向程式設計,也不是面向類的例項程式設計。物件的定義是人們要進行研究的任何事物,從最簡單的整數到複雜的飛機等均可看作物件,它不僅能表示具...

為什麼 要例項化物件?

物件 屬性 方法 類是指 描述一種事物的定義,是個抽象的概念 例項指 該種事物的乙個具體的個體,是具體的東西 聯絡類是現實世界或思維世界中的實體在計算機中的反映,它將資料以及這些資料上的操作封裝在一起。物件是具有類型別的變數。類和物件是物件導向程式設計技術中的最基本的概念。1 類是物件的抽象,而物件...