2 qq 37811712 qq_37811712 于 2017.08.31 09:27 提问

es6,js有个案例 跪求解释,参数怎么成了要执行的函数代码了,如下str

let str = 'return ' + 'Hello ${name}!';
let func = new Function('name', str);
func('Jack') // "Hello Jack!"

3个回答

sinat_32290679
sinat_32290679   2017.08.31 14:40

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

这是一种生成函数对象的方式之一

sinat_32290679
sinat_32290679   2017.08.31 14:43
sunny_desmond
sunny_desmond   2017.08.31 16:15

${name} 在es6里面是一种 模板字符串变量的写法。它是不会当做字符串来解析的,会自动认为这个是一个变量。可以看一下阮一峰老师写的ES6教程 模板字符串变量

Csdn user default icon
上传中...
上传图片
插入图片