a=[1,2,3]//直接定义并初始化。第二,var
a=new
Array(1,2,3)//这是调用构造函数创建数组并初始化数组。
init只是习惯性写法,一直以来编程人员的编写习惯而已。不是必须要这样写,不过养成共同的习惯对于自己及他人以后对代码进行修改或者浏览会提供方便。至于为什么需要初始化,这是大部分对象所需要具有的通用属性。可能网站小的时候init初始化共用属性作用不大,但当多次调用该对象时,对象初始化则可能根据调用个体的不同而对本身进行调整。打个比方,“动物”是一个对象函数,作用都是给对象画上四条腿。把羊、牛、狮子分别赋予“动物”函数时,“动物”函数就需要根据个体的不同进行初始化确定四条腿的粗细了。
建议在编写对象时按照通用的写法,毕竟一个对象不是目前可以用到的,以后在其它地方也会用到或者会进行升级拥有更强大的功能,这时候按照通用习惯编写代码就显示出它的优势了。
举个栗子:function Test(){}
Test.prototype.init = function(){}
如果要创建一个Test的实例,并调用init方法,那最普通的做法是:
var test = new Test()
test.init()
这样做也没错,我们的想法是它创建的时候其实就是在做初始化的工作,那干脆就简化它,在new的时候就让他直接自动调用init方法,省去再次手动调用,所以一般都会写成如下形式:
function Test(){
this.init.apply(this, arguments)
}
在init方法里面一般是做一些事件绑定,界面初始化的工作。