关于使用“函数直接量”法创建的命名函数的研究

当使用“函数直接量”创建命名函数时,函数内部会自动创建一个以函数名命名的不可写的本地变量,比如下面的代码:

var k = 2;

var i = function k() {

  k = 1;

  alert(k);

  eval("var k;");

  alert(k);

}

i();

第一次alert会显示这个函数,第二次alert会显示undefined。

如果是以正常的函数定义的方法创建的函数,则不会有这个现象。

posted on 2012-12-15 22:14  头大大  阅读(160)  评论(0编辑  收藏  举报

导航