这是一个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'));
});
好的,现在:有很多数组(?)就像上面那样,还有其他一些函数,所有的代码都被分成块。我不太了解,这是一种编程风格还是什么?
答案 0 :(得分:1)
这是对象表示法。但是,它并不是特别编写良好的代码,因此您可能不希望将其用作学习示例。
但是,一般原则是{}
表示一个对象,因此PRINCIPAL
通过赋值成为一个对象。点符号允许您轻松访问对象的参数和方法,因此第一个块定义方法(或函数),第二个块定义参数,在这种情况下是另一个对象。在此示例中,方法和参数使用对象文字表示法在其中定义了其他方法/参数。
Here's a basic introduction to object-oriented javascript如果你有兴趣的话。
答案 1 :(得分:0)
在JavaScript中,{}
表示对象不是数组。 (但您可以将对象视为一个关联数组或散列。)
所有function() {}
都是匿名函数,这里用于将函数存储在稍后要执行的变量中(函数只是对象并且可以存储)。 PRINCIPAL.array
这里基本上是一个伪类,因为闭包可以用来模拟JavaScript中的类(JS没有内置类)。
答案 2 :(得分:0)