动态生成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,会报错。
全局的参数可以取到。只能取到全局作用于和自己本地作用于中的变量的值。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。