jQuery阻止风格

时间:2013-05-20 13:37:10

标签: javascript jquery web

这是一个noob问题:看到一个像这样编写的jQuery代码:

    var PRINCIPAL = {};

PRINCIPAL.Function = function($element) {
    var self = this;
    /*more vars*/

    this.init = function() {
        self.initialFunction();
    };
    this.initialFunction = function() {
        /*code here*/
    };
    this.secondOne = function() {
        /*code here*/
    };
    this.init();
};
    /*associative array below??*/
PRINCIPAL.array = {
    CONFIGURATION: 10,
    CONFIGURATION2: 200,
    init: function($element) {
        /*code here*/
    },
    firstFunction: function() {
        /*code here*/
    },
    secondOne: function() {
        /*code here*/
    },  
    thirdOne: function() {
        /*code here*/
    }
};
/*and at the end it stars all functions inside the blocks*/
$(function() {
    PRINCIPAL.array.init($('#element'));
});

好的,现在:有很多数组(?)就像上面那样,还有其他一些函数,所有的代码都被分成块。我不太了解,这是一种编程风格还是什么?

3 个答案:

答案 0 :(得分:1)

这是对象表示法。但是,它并不是特别编写良好的代码,因此您可能不希望将其用作学习示例。

但是,一般原则是{}表示一个对象,因此PRINCIPAL通过赋值成为一个对象。点符号允许您轻松访问对象的参数和方法,因此第一个块定义方法(或函数),第二个块定义参数,在这种情况下是另一个对象。在此示例中,方法和参数使用对象文字表示法在其中定义了其他方法/参数。

Here's a basic introduction to object-oriented javascript如果你有兴趣的话。

答案 1 :(得分:0)

在JavaScript中,{}表示对象不是数组。 (但您可以将对象视为一个关联数组或散列。)

所有function() {}都是匿名函数,这里用于将函数存储在稍后要执行的变量中(函数只是对象并且可以存储)。 PRINCIPAL.array这里基本上是一个伪类,因为闭包可以用来模拟JavaScript中的类(JS没有内置类)。

答案 2 :(得分:0)

这是一个常见的(也是好的)问题。

看看这里:http://ejohn.org/apps/learn/

从'命名功能'开始,然后向下工作。

示例中的代码使用本教程中的技巧。 但是,这个例子写得不好。