導語:
JavaScript作為一門面對物件的程式語言,但是它沒有private,public,和static,那是否它就沒辦法實現面對物件程式設計的一些屬性呢?不是的,只需要使用JavaScript的一些特性,照樣可以寫出這些東西出來。
直接看程式碼,使用閉包實現。
var food = (function() {
var foodnum = 0; //靜態私有屬性
function checkfood(name) {} //靜態私有方法
//建立類
function _food(newid, newname ,newprice) {
var name, price //私有變數
function checkfood() {} //私有方法
this.getname = function() {}
this.getprice = function() {}
this.setname = function() {}
this.setprice = function() {}
this.id = newid //公有屬性
this.name = newname
this.price = newprice
this.copy = function() {} //公有方法
foodnum++
this.setname(name) //構造器
this.setprice(price) //構造器
}
_food.prototype = {
isgoodfood = false, //靜態公有屬性
display = function() {} //靜態公有方法
}
return _food //返回類
})()
補充:
微信搜尋【web小館】,回覆全棧部落格專案,即可獲取專案原始碼和後續的實戰文章教學。每天用最簡單樸實的語言,潛移默化的提升你的計算機基礎知識和前端技術。小米粥,一個專注的web全棧工程師,我們下期再見!