Meteor js - 另一个文件中的函数声明与函数表达式

时间:2015-04-28 04:29:35

标签: javascript meteor

在流星js中:

// In: server/lib/utils.js
    function foo() {
        return 'bad'
    }

    bar = function() {
        return 'good'
    }

    // In: server/server.js
    part(of(a(larger(computation(foo())))))
    bar()

调用foo会导致运行时错误:foo is not defined

调用栏没有。

为什么呢?另外,组合函数是否有更好的方法,而不仅仅是将一堆函数表达式与全局变量绑定在一起?

1 个答案:

答案 0 :(得分:1)

那是因为当你声明bar = function(){}时你正在使它成为一个全局scoope函数,这就是你可以从任何服务器js文件访问的原因。

function foo(){}不是全局函数。