js的建構函式共用事例

2022-05-16 09:05:39 字數 869 閱讀 5744

在使用建構函式去實現一種功能時,我們有時候往往需要實現這個功能,會因此產生多個堆內物件。這樣就會造成堆記憶體濫用。占用不該占用的空間。為此我們可以利用函式把共用的內容封裝起來。放便我們的使用。很多東西其實都是基於堆與棧的,深入理解一下更有利於學習計算機。**不算字這個限制什麼時候可以消除呢。來自版主的吐槽。為了150字我也很絕望。

具體事例:

function

person(name,age,gender)

}var per1 = new person("ton",12,"男");

var per2 = new person("lily",11,"男");

var per3 = new person("tom",18,"男"); //

我們來判斷我們生產的物件是不是相同的。

console.log(per1.sayname==per3.sayname);//

false;

//上面這種情況很明顯在我們呼叫的時候會在堆內產生乙個新物件。

//為了優化這種情況,我們需要將this.sayname這個共用體單獨拿出來。

function

person(name,age,gender)

//將sayname方法在全域性作用域中定義;

function

fun()

//建立乙個person的例子,我們來檢查一下。

var per4 = new person("豬八戒",32,"男");

var per5 = new person("唐僧",33,"男");

console.log(per4.sayname==per5.sayname);//

true。 問題解決了。

JS的建構函式

建構函式 使自己的物件多次複製,同時例項根據設定的訪問等級可以訪問其內部的屬性和方法 當物件被例項化後,建構函式會立即執行它所包含的任何 function myobject msg 特權方法 公有方法 能被外部公開訪問,這個方法每次例項化都要重新構造而 prototype 是原型共享,所有例項化後,...

js建構函式

1 經典例項,涵蓋全域性變數,區域性變數,變數宣告提公升,物件,上下文,閉包等知識 var num 4 var obj this.num 2 num 3 alert num var fn obj.fn window.num 8 num nan num 4 fn function alert num ...

JS建構函式

建立乙個物件可以字面量建立或建構函式建立 字面量建立物件例如 字面量建立物件 var p1 但如果需要建立多個同一型別 屬性和方法都相同 的物件,使用字面量不合適,可以使用建構函式建立 宣告建構函式的語法和普通函式相同,但是建構函式的函式名首字母大寫 function student name,st...