虽然我已经使用了很多年的Javascript,但就所有流行的框架和库而言,我完全是一个新手。在一般意义上我对“包”有很多疑问:找到一个列出所有通用工具包(如JQuery)以及专业解决方案的备忘单会很好。但我的过渡是渐进的,我仍在“自己动手”。
在滚动我自己的方面:我如何在Javascript中创建不打算实例化以便捆绑静态方法的类?例如:
var mypackage = new Object ;
mypackage.getDocument = function () {
return document ;
}.bind( mypackage ) ;
mypackage.getCookie = function () {
return this.getDocument().cookie ;
}.bind( mypackage ) ;
此示例有意无关紧要,请不要回复检索文档Cookie的替代方法。
此示例演示了我在Javascript中定义类或包的典型方法。但我知道bind()运算符相对较新,可能不适合生产。真的吗?有替代方法吗?
答案 0 :(得分:3)
我经常看到它们被初始化为一个对象,并且也是这样做的。一个例子是:
// Definition.
var mypackage = {
getDocument: function () {
return document;
},
getCookie: function () {
return this.getDocument().cookie;
}
};
// Example.
(function () {
console.log(mypackage.getCookie());
}());