OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

JavaScript中新建一个带全局变量参数的new Function动态函数


分享到


分类 JS学习   关键字 JavaScript   发布 ourjs  1533813494904
注意 转载须保留原文链接,译文链接,作者译者等信息。  
有些场景会动态传递一些计算公式到后端,后端计算出结果,计算公式可能会使用到一些变量。如用户输入的公式:  a + b,需要计算 a + b 的值

有一种方法,在公式中使用 this 参数,然后传入model实现,如:

myFunc = Function( 'return this.a + this.b' )

调用时传入model

myFunc.call({ a: 1, b: 2})
> 3

能不能在公式中省掉 this 呢? 这个场景需要创建一些可在函数中直接使用的变量。

可使用带逗号的参考实现,比如:

var args = 'a, b';
var body = 'return a + b';
var myFunc = new Function(args, body);

调用

myFunc(1, 2)
> 3

也可以使用数组参数来实现

args = ['a', 'b', 'return a + b'];
myFunc = Function.apply(null, args);

调用时也可以使用数组:

myFunc.apply(null, [1, 2])
> 3


社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. Git服务器搭建,多用户组权限控制配置,添加新用户密码登陆
  2. 设置select元素中option的默认值
  3. Node.JS用Path将相对路径转为绝对路径
  4. Debian/Ubuntu Linux搭建SVN服务器,并设置开机默认启动
  5. Office365并不是完全基于JavaScript重写的,只是用来构建UI界面
  6. 用JavaScript将input/textarea中的文本复制粘贴到剪切板
  7. Facebook 正在重构 React Native,将重写大量底层
  8. JavaScript用Number/parseInt/parseFloat判断字符串是否为数字
  9. Node.JS命令行或批处理中更改Linux用户密码
  10. 上海行业工资排名:产品经理一骑绝尘,前端排名第二?
  11. 用 OnceAir 搭建个人Git/Svn/照片备份服务器,每年电费7块钱

 相关阅读 - JS学习
  1. 设置select元素中option的默认值
  2. JavaScript用Number/parseInt/parseFloat判断字符串是否为数字
  3. 用JavaScript将input/textarea中的文本复制粘贴到剪切板
  4. Node.JS用Path将相对路径转为绝对路径
  5. JS动态滑动切换到页面指定位置
  6. 如何通过网页、客户端、手机APP、路由器查找OnceAir NAS网盘的内网访问地址
  7. JavaScript用new Image实现内网服务器端口扫描
  8. 如何收集捕获Node中的未处理的错误异常信息?
  9. Node.JS循环删除非空文件夹及子目录下的所有文件
  10. Node.js 和 JavaScript 的最新版 npm 导致 Linux 系统崩溃,迫使用户重装系统!

 关键字 - JavaScript
  1. 用JavaScript获取当月第一天和最后一天
  2. 用JavaScript测试图像上两点之间的距离
  3. JSON序列化(stringify)对象时排除某些属性的两种方法
  4. 5个现在就该使用的数组Array方法: indexOf/filter/forEach/map/reduce详解
  5. JavaScript运算出现很多小数导致运算不精确的问题,用toFixed解决
  6. 用JavaScript实现node.js中的path.join方法
  7. 如何用CSS将select/option文本居中或居右对齐
  8. JavaScript中新建一个带全局变量参数的new Function动态函数
  9. 设置select元素中option的默认值
  10. 在JavaScript中创建命名空间的几种写法

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号