聘我网

新概念招聘3.0

javascript中函数与变量的作用域区别

vote up0vote downstar

报错:

wysiwyg2();

var wysiwyg2 =function()
{
    alert(1);
}

正常:

wysiwyg2();

function wysiwyg2 ()
{
    alert(1);
}

为何?

 

1 个答复

vote up0vote downcheck

第一种情况,你定义了一个匿名函数然后赋值给变量wysiwyg2,而变量在赋值之前是不可以调用的

第二种情况,定义了一个函数wysiwyg2,而函数是可以在同一代码块(code-block)*的任何地方调用的

*:=包含代码的function或者script标签

更新

但在下面这段:

var scope = "global";

function f(  ) {

    alert(scope);         // Displays "undefined", not "global"

    var scope = "local";  // Variable initialized here, but defined everywhere

    alert(scope);         // Displays "local"

}

f(  ); 

第一次会是undefined,因为在同一个code-block中用var定义了scope,这时候便不会引用外面得变量

链接

您的回答





不是您要找的问题? 浏览其他含有标签 的问题或者 自己问个.