当使用“函数直接量”创建命名函数时,函数内部会自动创建一个以函数名命名的不可写的本地变量,比如下面的代码:
var k = 2;
var i = function k() {
k = 1;
alert(k);
eval("var k;");
}
i();
第一次alert会显示这个函数,第二次alert会显示undefined。
如果是以正常的函数定义的方法创建的函数,则不会有这个现象。
posted on 2012-12-15 22:14 头大大 阅读(160) 评论(0) 编辑 收藏 举报