我只是想更深入地理解Javascript.
我创建了一个'类' gameData,我只想要一个,不需要构造函数,或者实例化.
所以我就这样创造了......
var gameData = new function () {
//May need this later
this.init = function () {
};
this.storageAvailable = function () {
if (typeof (Storage) !== "undefined") {
return true;
}
else {
return false;
}
};
}
Run Code Online (Sandbox Code Playgroud)
意识到'new'关键字不允许它实例化并使其可用LIKE静态类将在C#中.
我是否正确地想到了这一点?静电?
我正在阅读KnockoutJS源代码.
我遇到了以下一行,我不确定我理解......
ko.utils = new (function () {
Run Code Online (Sandbox Code Playgroud)
一般来说,结构似乎是这样的:
ko.utils = new (function () {
// some variables declared with var
return {
export:value,
export:value
};
})();
Run Code Online (Sandbox Code Playgroud)
我不明白这个结构,为什么new需要?它有什么作用?它有用的是什么?
(我认为如果函数new在其名称之前调用它作为构造函数调用,并且如果它返回一个对象,则它与没有调用的函数相同new.)
更新:我在github上问了KnockoutJS团队,这就是我得到的:
我的猜测是史蒂夫只是不知道不需要它.回顾他最初的提交,我看到很多不必要的消息已被删除.
javascript ×2