看不懂这句javascript代码,求大神指点

render = new Function(settings.variable || 'obj', '_', source);
阅读 3.2k
5 个回答

new Function ([arg1[, arg2[, ...argN]],] functionBody)

arg1, arg2, ... argN
被函数使用的参数的名称必须是合法命名的。参数名称是一个有效的JavaScript标识符的字符串,或者一个用逗号分隔的有效字符串的列表;例如“×”,“theValue”,或“A,B”。
functionBody
一个含有包括函数定义的JavaScript语句的字符串。

详见构造器

  1. 这种问题最好直接去看规范,Fcuntion构造函数的那一章

  2. 为什么不自己尝试一下变换输入看看new Fcuntion()出来的是个啥呢?

三个参数,第一个如果有setting就用,没有就用缺省值obj

语法
new Function ([arg1[, arg2[, ...argN]],] functionBody)

settings.variable || 'obj' // 传进来设置的变量参数,如果没有默认 'obj'

'_' //应该是传入  underscore 或者 lodash 的全局变量

source // 应该是代码块

传了三个参,第一个参用了||运算符,||的意思是前后哪个有值用哪个;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题