如何用eval()函数在局部函数内改变全局变量
2016-11-20 17:42
232 查看
两种方式作用是一样的,第一种更直接
var Obj={
func:function(code){
window.eval(code);
}
}
var s='global'; // 全局变量
function demo3(){ // 局部空间
window.eval('var s="local"'); // 第一种方式(直接)
Obj.func("var s='sssss'"); // 第二种方式(间接)
}
demo3();
alert(s); //->'sssss'
直接调用eval函数,则在调用者的空间执行;
如果调用 window.eval (code) 则在全局空间执行。
虽然 alert(eval==window.eval) 返回 true!
如果是IE浏览器,则提供了execScript(code)函数
它在全局空间执行code代码,相当于window.eval(code);
var Obj={
func:function(code){
window.eval(code);
}
}
var s='global'; // 全局变量
function demo3(){ // 局部空间
window.eval('var s="local"'); // 第一种方式(直接)
Obj.func("var s='sssss'"); // 第二种方式(间接)
}
demo3();
alert(s); //->'sssss'
直接调用eval函数,则在调用者的空间执行;
如果调用 window.eval (code) 则在全局空间执行。
虽然 alert(eval==window.eval) 返回 true!
如果是IE浏览器,则提供了execScript(code)函数
它在全局空间执行code代码,相当于window.eval(code);
相关文章推荐
- js局部函数改变全局变量(转)
- 【ZZ已解决】Python中如何在嵌套函数内部访问被嵌套(的父级函数)中的(局部,非全局)变量
- 在MFC下如何定义全局变量和全局函数(ZZ)
- 在MFC下如何定义全局变量和全局函数
- static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
- vs2008如何新建自己工程的环境变量(局部)和 Windows系统(全局). .
- static 全局变量与普通的全局变量的区别/static局部变量和普通局部变量的区别/static函数与普通函数的区别[转]
- 在MFC下如何定义全局变量和全局函数
- static全局变量与普通的全局变量?static局部变量和普通局部变量?static函数与普通函数有什么区别?
- static全局变量与普通的全局变量和普通局部变量的区别,static函数与普通函数的区别
- 在VC++MFC下如何定义全局变量和全局函数
- static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
- 在MFC下如何定义全局变量和全局函数
- 在VC++MFC下如何定义全局变量和全局函数
- static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
- const类型的成员函数内部如何改变成员变量
- static全局变量与普通的全局变量的区别/static局部变量和普通局部变量的区别/static函数与普通函数的区别
- 如何引用与局部变量同名的全局变量
- ida如何显示栈视图和改变局部变量类型
- const成员函数内部如何改变成员变量