我正在尝试编写我的第一个非破解的jQuery插件,我正在努力用构造函数,公共变量,私有变量和函数创建一个基本对象。
http://jqueryboilerplate.com/有一个很好的指南来创建扩展jQuery的对象,但我认为这不是一个没有附加到DOM元素的通用对象的正确方法。
有没有人有用于创建基本可重用对象的样板模板?即。
var calc = new CustomCalculator({'starting_value': 42});
calc.add(3);
calc.multiplyBy(2);
alert(calc.total); // Alerts (42 + 3) * 2 = 90
答案 0 :(得分:1)
从您的代码示例中,您似乎只需要一种创建JS对象的基本方法。 这可以解决问题(但还有很多其他方法):
function CustomCalculator(options){
var self = this;
self.total = options.starting_value;
self.add = function(term){
self.total += term;
};
self.multiplyBy = function(term){
self.total = self.total * term;
};
}
var calc = new CustomCalculator({'starting_value': 42});
calc.add(3);
calc.multiplyBy(2);
alert(calc.total); // Alerts 90
你仍然需要实现字符串连接,但我会把它留给你
如果你想要私有变量,你应该使用闭包。 我最近在JavaScript中写了一篇关于命名空间和模块的文章,可以帮助你:http://www.kenneth-truyers.net/2013/04/27/javascript-namespaces-and-modules/
这是另一个专门针对私有变量的人:http://www.kenneth-truyers.net/2012/04/22/private-variables-in-javascript/