浅谈JavaScript初始化模式

初始化模式,简单说,就是在不污染全局命名空间的情况下,使用临时变量,以一种更整洁的方式做一些初始化工作。

一旦提到这个,大多数人会想到即时函数(Immediate Functions,也可称为‘自执行函数’),而且,即时函数也经常用在JS代码模块化或者创建单例对象的场景。

一个典型的即时函数IIFE如下:

(function () {
    var text = 'hello world!';
    alert(text);
}());

显而易见,text是一个临时变量,不会污染全局环境。

其实,还有另外一种不常见的方式:即时对象初始化。

对象初始化

看一个例子就立刻明白了。

({
    width: 300,
    height: 300,
    getArea: function(){
       return this.width * this.height;
    },
    init: function(){
       console.log(this.getArea());
    }
}).init();

在上面的例子里,同样,括号里面的对象,也是一个临时变量,通过立刻执行该对象里的某个函数,完成初始化设置任务。

即时对象初始化有两种写法(两者并无区别):

({...}).init();
({}.init());
小结

即时函数对象初始化没有孰优孰劣的区别,萝卜青菜各有所爱~:)

微信公众号:

你可能感兴趣的:(浅谈JavaScript初始化模式)