Javascript书籍,以了解编码技术

时间:2011-12-13 05:13:28

标签: javascript

我是JavaScipt的新手,我无法理解下面的代码

 maskat.lang.Class.declare("maskat.key.KeyEventManager", {

    _static: {

        /** @scope maskat.key.KeyEventManager */

        getInstance: function() {
            var self = arguments.callee;
            if (!self.instance) {
                self.instance = new this();
            }
            return self.instance;
        }
    }
});

在上面的代码中,“_static”这个词意味着什么?这是我的一个疑问,当我看到Javascript库代码时,我有很多疑问。

我可以在Javascript中编写这么多代码,但是我无法理解上面那些编码技术。

我必须参考哪本书来理解这种复杂的编码技术。

2 个答案:

答案 0 :(得分:2)

_static只是“动态”创建的新对象的属性,并作为参数传递给declare函数。它被分配了另一个具有getInstance属性的对象,该属性包含一个函数。 _static不是JavaScript关键字。

当您看到var x = { }之类的内容时,您就会知道正在创建新对象并将其分配给新变量x。在这些对象中,使用冒号分配新属性,如x = { y : 2 }。因此,您可以访问y,如:

var x = { y : 2 };

console.log( x.y );
// or
console.log( x['y'] );

答案 1 :(得分:1)

您能为maskat提供图书馆的来源吗?它更像是一个第三方库,它提供了基于类的类似JavaScript,因为JS使用prototyping,这比基于类的OOP更不常见。

有许多库为javascript提供了基于类的OOP,模拟了基于类的oop。你可以看看他们看模式。

<强>更新

既然你要书,我会为你提供学习JS的参考