为什么下划线使用立即调用函数表达式来包装其所有代码?

时间:2015-10-31 00:19:13

标签: javascript function object underscore.js

<html>
    <head>

    </head>
    <body>
        <script src="underscore.js"></script>
        <script src="app.js"></script>
    </body>
</html>

我看到无论何时加载html,下载核心.js中的所有代码(即使是我们不需要的代码)都会因为立即调用的函数表达式而被执行。这是下划线的缺陷吗?为什么我们不在正常对象中包装underscore.js的所有代码而不是函数对象(立即调用的函数表达式)?

1 个答案:

答案 0 :(得分:1)

这是一种常见的模式,因此他们可以控制出口。 onTouch可以将其放在.call(this)或节点window上。

至于“所有代码......将被执行” - 这些函数将不会被执行,但它们将像所有其他脚本一样被解析。