主要观点总结
本文详细介绍了JavaScript中的new Function的用法、应用场景和注意事项。
关键观点总结
关键观点1: new Function的基础语法和用法
通过new Function可以动态创建函数,其参数包括函数参数和函数体。
关键观点2: new Function在闭包环境中的应用
使用new Function创建的函数只能访问全局变量,无法访问外部变量,这是由于其特殊的词法作用域。
关键观点3: new Function的应用场景
new Function主要用于动态执行代码、沙箱环境以及性能优化等场景,如模板引擎、JSONPath解析等。
关键观点4: new Function的弊端和注意事项
使用new Function时需要注意无法访问外部变量的问题,特别是在代码压缩后,局部变量名称可能会被替换,导致访问出错。推荐显式通过函数参数传递数据。
文章预览
点击上方 程序员成长指北 ,关注公众号 回复 1 ,加入高级Node交流群 前言 通过本文你能学到什么? new Function 的基础用法和常用 demo 关于 new Function 解析过程 和 anonymous 的结构 new Function 中 arguments 与常规函数的一些不同之处 new Function 的应用场景有哪些 new Function 不太合适的场景和弊端注意点 用法 基础语法 创建函数语法 let func = new Function ([arg1, arg2, ...argN], functionBody); 函数是通过使用参数 arg1...argN 和给定的 functionBody 创建。 调用 Function 时可以使用或不使用 new ,两者都会创建一个新的 Function 实例。 举例 1:带有两个参数的函数: let sum = new Function ( 'a' , 'b' , 'return a + b' ); alert( sum( 1 , 2 ) ); // 3 举例 2:一个没有参数的函数,自由函数体 let sayHi = new Function ( 'alert("芝士")' ); sayHi(); // Hello 举例 3
………………………………