你可能不知道的JavaScript的new Function()方法


Posted in Javascript onApril 17, 2014

我们大多数人都使用过JavaScript,近年来随着各种JavaScript框架的流行使得JavaScript变得更加神奇和容易。"Anonymous (匿名)函数?不知道那是什么但是看起来和自己所写的差不多。”
你可能并不知道可以传给 new Function() 一个字符串作为函数的body来构造一个 JavaScript函数。编程中并不经常用到,但有时候应该是很有用的.

下面是 new Function 的基本用法:

// 最后一个参数是函数的 body(函数体),类型为 string;  
// 前面的参数都是 索要构造的函数的参数(名字)  
var myFunction = new Function('users', 'salary', 'return users * salary'); 

非常简单,对吧?

问题是:什么时候适合使用这种方式,而不使用传统的函数声明 function myFnName() 和/或 匿名函数定义? Andrea Giammarchi 认为,最适合使用 这种函数定义方式的场景是在NodeJS和浏览器的全局环境中:

(function(win) {    
    // 在全局环境中执行某些操作  
  
})(Function('return this')()); 

如果你曾经使用过 new Function模式,欢迎留言和讨论!
Javascript 相关文章推荐
Javascript 实现TreeView CheckBox全选效果
Jan 11 Javascript
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
Jan 08 Javascript
JavaScript的内存释放问题详解
Jan 21 Javascript
JavaScript父子窗体间的调用方法
Mar 31 Javascript
JS简单实现移动端日历功能示例
Dec 28 Javascript
JavaScript验证知识整理
Mar 24 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
Sep 18 Javascript
vue cli升级webapck4总结
Apr 04 Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
Apr 17 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
Nov 20 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
Nov 30 Javascript
微信小程序实现多个按钮的颜色状态转换
Feb 15 Javascript
在JS中解析HTML字符串示例代码
Apr 16 #Javascript
iframe的onreadystatechange事件在firefox下的使用
Apr 16 #Javascript
javascript打开word文档的方法
Apr 16 #Javascript
JavaScript数组深拷贝和浅拷贝的两种方法
Apr 16 #Javascript
JavaScript两种跨域技术全面介绍
Apr 16 #Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
Apr 16 #Javascript
JavaScript框架(iframe)操作总结
Apr 16 #Javascript
You might like
150kHz到30Mhz完全冲浪手册
2020/03/20 无线电
php mysql数据库操作类
2008/06/04 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
2016/10/11 PHP
javascript 写类方式之九
2009/07/05 Javascript
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
JavaScript全排列的六种算法 具体实现
2013/06/29 Javascript
javascript发送短信验证码实现代码
2015/11/12 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
2016/05/19 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
详解vue slot插槽的使用方法
2017/06/13 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
Python strip lstrip rstrip使用方法
2008/09/06 Python
python中的对象拷贝示例 python引用传递
2014/01/23 Python
python 循环遍历字典元素的简单方法
2016/09/11 Python
python 中if else 语句的作用及示例代码
2018/03/05 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
对python中arange()和linspace()的区别说明
2020/05/03 Python
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
CHARLES & KEITH澳大利亚官网:新加坡时尚品牌
2019/01/22 全球购物
英国标准协会商店:BSI Shop
2019/02/25 全球购物
英国著名药妆店:Superdrug
2021/02/13 全球购物
毕业生机械建模求职信
2013/10/14 职场文书
中医临床专业自我鉴定范文
2014/01/15 职场文书
临床医师个人自我评价
2014/04/06 职场文书
煤矿安全生产责任书
2014/04/15 职场文书
行政管理专业求职信
2014/07/06 职场文书
安全生产年活动总结
2014/08/29 职场文书
领导班子个人对照检查材料(群众路线)
2014/09/26 职场文书
公司开业主持词
2015/07/02 职场文书
2019年特色火锅店的创业计划书模板
2019/08/28 职场文书
Pytorch 如何实现常用正则化
2021/05/27 Python
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript
Python中的pprint模块
2021/11/27 Python