let str = 'return ' + 'Hello ${name}!
';
let func = new Function('name', str);
func('Jack') // "Hello Jack!"
Function 构造函数
new Function ([arg1[, arg2[, ...argN]],] functionBody)
参数
arg1, arg2, ... argN
被函数使用的参数的名称必须是合法命名的。参数名称是一个有效的JavaScript标识符的字符串,或者一个用逗号分隔的有效字符串的列表;例如“×”,“theValue”,或“A,B”。
functionBody
一个含有包括函数定义的JavaScript语句的字符串。
这是一种生成函数对象的方式之一
http://blog.csdn.net/sinat_32290679/article/details/69665286
${name}
在es6里面是一种 模板字符串变量
的写法。它是不会当做字符串来解析的,会自动认为这个是一个变量。可以看一下阮一峰老师写的ES6教程 模板字符串变量