js建立物件 設計模式

2021-08-08 11:47:28 字數 1538 閱讀 4726

類的功能:

本文就說說如何用js實現對類的封裝,實現上述功能,

var person = function

(name, age);

}

如何你覺得ta不像類的話,那麼你可以這樣做

var person = function

(name, age);

}

有了上面的例子之後,我們在此基礎之上就可以進行我們的完善了。

var person = function

(name, age);

//靜態私有屬性(只能用於內部呼叫)

var home = "china";

//靜態私有方法(只能用於內部呼叫)

function

sayhome

() //構造器

this.setage = function

(age);

this.setage(age);

}//靜態方法(只能被類來訪問)

person.sayage = function

()//靜態屬性(只能被類來訪問)

person.drink = "water";

//靜態共有方法(類和例項都可以訪問)

person.prototype.sayword = function

()

這裡我們用閉包來實現,首先解釋下閉包的概念。 

閉包概念:乙個函式有權訪問另乙個函式作用域中的變數,即在乙個函式內部建立另乙個函式

實現如下:

var person = (function

() //建構函式

function

_person

(name, age);

_this.test = sayhome; //用於測試

//構造器

_this.setage = function

(age)(age);

}else

}//靜態共有屬性方法

_person.prototype =

}return _person;

})();

呼叫如下:

var p1 =

new person("ys", 12);

p1.gethome(); //ys's home in china

console.

log(p1.age); //24

var p2 = person("ys", 12);

p2.gethome(); //ys's home in china

console.

log(p2.age); //24

console.

log(p2.test == p1.test); //true, 證明靜態私有變數共享性

JS物件建立模式

1 var person new object 23 person.name name 4 person.age 43 56 console.log person 1 套路 先建立空object物件,再動態新增屬性 方法 2 適用場景 起始時不確定物件內部資料 3 問題 語句太多 1 var per...

js建立物件 原型模式

原型模式是用來建立物件的,它是在建構函式建立物件基礎上,為了實現資料的共享,這種共享包括屬性的共享,也包括方法的共享。既然原型模式是在建構函式模式的基礎上改進的,那麼這種模式會既有建構函式的特點又有原型模式的特點。關於原型模式的使用方法用一句話總結 不需要共享的資料寫在建構函式中,需要共享的資料寫在...

js建立物件的幾種模式

原理 在乙個函式內部完成建立物件新增屬性和方法。缺陷 無法識別物件的型別。佔記憶體,沒有提取公共方法。例項 function createperson name,age,job return o var person1 createperson nicholas 29 software engine...