您的位置:首页 > 编程语言 > Java开发

JavaScrip模块化模式写法

2015-07-03 18:23 537 查看
//Module 模式 闭包自包含模块
var testModule = (function(){
var counter = 0;
return {
incrementCounter: function(){
return ++counter;
},
resetCounter: function(){
console.log("counter value prior to reset: " + counter);
counter = 0;
}
};
})();
testModule.incrementCounter();
testModule.incrementCounter();
testModule.resetCounter();
//包含命名空间、共有和私有变量的Module模式
var myNamespace = (function(){
var myPrivateVar = 0;
var myPrivateMehod = function(foo){
console.log(foo);
};
return {
myPublicVar: "foo",
myPublicFunction: function(bar){
myPrivateVar++;
myPrivateMehod(bar);
}
}
})();
myNamespace.myPublicFunction('hello world!');
//用模块化思想实现购物车
var basketModule = (function(){
//私有
var basket = [];
function doSomethingPrivate(){
console.log("doSomethingPrivate run");
}
function doSomethingElsePrivate(){
console.log("doSomethingElsePrivate run");
}
//返回暴露的共有对象
return {
addItem: function(values){
basket.push(values);
},
getItemCount: function(){
return basket.length;
},
doSomething: doSomethingPrivate,
getTotal: function(){
var itemCount = this.getItemCount();
total = 0;
while(itemCount--){
total+= basket[itemCount].price;
}
return total;
},
}
})();
basketModule.addItem({
item: "bread",
price: 0.5
});
basketModule.addItem({
item: "dss",
price: 0.5
});
console.log(basketModule.getItemCount());
console.log(basketModule.getTotal());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: