美文网首页
浅谈JavaScript初始化模式

浅谈JavaScript初始化模式

作者: 娜姐聊前端 | 来源:发表于2017-02-22 22:36 被阅读86次

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

    一旦提到这个,大多数人会想到即时函数(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初始化模式

          本文链接:https://www.haomeiwen.com/subject/qccvwttx.html