可能重复:
Javascript 中的模棱两可的函数声明
以上在nodejs中确实有效。我想知道处理这种情况的 javascript 和 python/ruby 的根本区别。
可能重复:
Javascript 中的模棱两可的函数声明
以上在nodejs中确实有效。我想知道处理这种情况的 javascript 和 python/ruby 的根本区别。
因为在 JavaScript 中,[[FunctionDeclaration]]被提升(包括初始化)到当前词法范围的顶部。所以你可以在词法范围内的任何地方调用它们(甚至“在”它们被“定义”之前)。
如果您对确切的过程感兴趣,请随时查看规范:http: //es5.github.com/#x13