动态生成js代码,并运行。
我们知道可以用evel。
还可以用new Function。
参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function
比如:
var a = {};
a.b = new Function();
a.b();可以定义带参数的函数,如:
var a = {};
a.b = new Function('a','b', 'var c = a + b; \nreturn c * 2; ');
a.b();函数的作用于和evel有差别,如:
var a = {var x = 1};
a.b = new Function('a','b', 'console.log(x); \nvar c = a + b; \nreturn c * 2; ');
a.b();取不到x,会报错。
全局的参数可以取到。只能取到全局作用于和自己本地作用于中的变量的值。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。