专栏名称: 程序员成长指北
专注 Node.js 技术栈分享,从 前端 到 Node.js 再到 后端数据库,祝您成为优秀的高级 Node.js 全栈工程师。一个有趣的且乐于分享的人。座右铭:今天未完成的,明天更不会完成。
今天看啥  ›  专栏  ›  程序员成长指北

高级前端进阶!重学 new Function 语法

程序员成长指北  · 公众号  ·  · 2024-10-12 08:39
    

主要观点总结

本文详细介绍了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 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览