類的功能:
本文就說說如何用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...