js 建立物件的幾種方式 1 2

2021-09-18 06:17:36 字數 2048 閱讀 3564

為了防止一些函式之間同名的可能性,可以將屬於乙個模組的**封裝在一起。這樣外部就無法呼叫一些私有函式了,就不會出現容易同名的情況出現。

方法一:

(function (exports) ;

exports.$class1 = obj;

obj.publicfunction = function () {}//外部可呼叫函式

function privatefunction() {}//私有函式

})(this);

呼叫的時候     $class1.publicfunction();

注:適合靜態類,因為這種類似 類名.方法。這種方式無法儲存資料。

方法二:object建構函式建立

var obj = {};

//或者 var obj = new object();

obj.variablequantity = "";

obj.functionli = function () {}

呼叫的時候      obj.functionli();

注:適合類的方法各不相同的情況。

方法三:字面量表示法

類似上面方法二

var obj = 

}

呼叫的時候         obj.functionli();

注:適合類的方法各不相同的情況。

方法四:工廠模式建立(寄生建構函式模式)

function myclass(variablequantity) ;

return o;

}

呼叫的時候             var obj = myclass("");

注:適合結構相同,引數不同。

注意:由於這個情況不能依賴instanceof來判斷物件型別,所以最好不使用

方法五:建構函式建立(動態原型模式)

function myclass(variablequantity) ;

/************私有內容區域************/

function privatefunction() {};

}

呼叫的時候

var obj = new myclass("");

obj.basefunction();

注:適合結構相同,引數不同。

注:如果在類中使用this,則this的值為最後乙個定義的值

方法六:原型建立

function myclass(){}

myclass.prototype.variablequantity = 'nike';

myclass.prototype.basefunction = function() {};

呼叫的時候

var obj = new myclass();

obj.basefunction();

注:適合大部分結構相同。

方法七:混合型(構造+原型)

function myclass(variablequantity)

myclass.prototype = ;

}

呼叫的時候

var obj = new myclass("");

obj.basefunction();

注:適合大部分結構相同。  

啦啦啦,又學會了好幾招。當然了,如果需要繼承其他的類,也可以使用mixin多繼承的方法哦,看看去吧。

js 建立物件的幾種方式

一 原始方式 解釋 原始方法建立物件,通過new關鍵字生成乙個物件,然後根據js是動態語言的特性新增屬性和方法,構造乙個物件。其中this是表示呼叫該方法的物件。缺點 多次建立物件,則需要重複 多次,不利於 的復用。二 工廠模式 var getage function var getname fun...

js 建立物件的幾種方式

第一種 工廠模式 例1 function createobj name,age return o var per1 createobj 張三 20 per1.sayinfo 缺點 無法知道物件的型別 第二種 建構函式模式 例2 function person name,age var per2 ne...

js建立物件的幾種方式

雖然object建構函式或物件字面量都可以建立單個物件,但這些方式有個明顯的缺點,那就是使用同乙個介面創造很多物件,會產生大量的重複 所以產生了下面幾種模式。1 工廠模式 function createperson name,age,job o.name name o.age age o.job j...