设置Javascript函数的作用域问题
Scope Issues With Setting Javascript Function
我需要"更新"另一个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,而第二个集合基本上什么都不做。是否有实现此功能的方法?
根据Javascript闭包-全局范围中重写函数的行为
CCD_ 1和CCD_。它们将覆盖内部作用域中的外部定义,但不会在外部作用域上替换它。
这意味着您只能在相同的执行上下文中重写function jf()
的初始定义。否则,用window.jf = function(){...
替换function jf(){ ...
此外,在检查器控制台中运行测试可能会有所帮助。
首先,使用变量:
var jf = function () {
alert('1');
};
jf();
然后第二位应该可以正常工作:
var func = function () {
alert('2');
};
jf = func;
jf();
相关文章:
- 作用域问题-此函数是否形成闭包-JavaScript
- 访问Javascript对象-Node.js的作用域问题
- 尝试将变量传递到对象中时的作用域问题'的方法构造函数
- 'simple'套接字中的作用域问题.IO服务器
- Javascript作用域问题,对象在分配后没有数据
- 可能存在Javascript作用域问题
- 本地Javascript作用域问题
- 设置Javascript函数的作用域问题
- Javascript 中使用 setTimeout 的作用域问题
- 作用域问题反应父子方法ES6
- jquery get中的作用域问题
- 绑定时出现Javascript作用域问题
- 试图覆盖全局变量时出现jQuery.post()作用域问题
- 作用域问题Uncaught ReferenceError
- 使用reduce串行链接Javascript承诺时的作用域问题
- Javascript变量作用域问题-错误:类型错误:this.graphics未定义
- extjs 4中的作用域问题
- 变量未正确赋值,可能存在作用域问题(getJSON()中的each()中有一个开关的函数)
- Javascript作用域问题:函数在$(doc).ready()中可用,但在事件处理程序中不可用
- Angular 2服务单例作用域问题