定义function语句2种情况的差别

一、function foo(){}

二、var foo=function{};

第一种情况在哪定义都可以,第二种,必须放在使用的前面。

 第二种情况明确表示foo是一个包含一个函数值的变量。函数就是数值。

function语句在解析时会被提升。不管function放置在哪里,他都会移动到被定义时所在作用域的顶层。这放宽了 函数必须先声明后使用的要求。


一个语句不能以一个函数表达式开头,因为官方假定单词function 开头的语句是一个function 语句,解决方法是函数表达式扩在圆括号内。

(function(){

    var a;

   //这个函数可能对环境产生影响,但不会引入新的全局变量。

 }   


posted on 2012-06-01 16:43  dhj  阅读(139)  评论(0编辑  收藏  举报

导航