相关疑难解决方法(0)

考虑使用'new'关键字作为'static'的Javascript函数表达式是否正确

我只是想更深入地理解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#中.

我是否正确地想到了这一点?静电?

javascript

25
推荐指数
3
解决办法
5915
查看次数

匿名函数调用返回对象之前的"新"

我正在阅读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

10
推荐指数
1
解决办法
206
查看次数

标签 统计

javascript ×2