【发布时间】:2012-07-11 04:03:51
【问题描述】:
我需要“更新”另一个 javascript 文件中存在的函数。该文件如下所示:
function jf(){
alert('1');
}
//call jf periodically
jf();
加载后的第二个js文件如下:
console.log(jf);
console.log(window.jf);
var func=function(){
alert('2');
};
jf=func;
window.jf=func;
第一个日志成功返回原始jf方法,第二个没有。第一组好像设置了局部变量jf,第二组基本什么都不做。有没有办法实现这个功能?
【问题讨论】:
-
第二次获得了什么?
-
你的
console.log(window.jf)在window.jf=func调用之前执行,所以它不可能输出jf方法。 -
秒未定义。原始的
function jf()在任何一个console.log 之前很久就执行了。窗口日志检查该函数是否存在于窗口范围内。 -
那么第二个
jf = func;应该“更新”jf。更新后拨打jf();会怎样?
标签: javascript function scope