var server,a=1;
var b=new Function("var c=require('express');console.log('require');");
b();
为什么这段js跑不起来。
node报这个错误。
var c=require('express');console.log('require');
^
ReferenceError: require is not defined
而
var server,a=1;
var b=function(){var c=require('express');console.log('require');};
b();
可以在node下运行。
new Function难道不是和定义function一样吗?
new function创建的作用域是在全局作用域的。而全局作用域上并没有require这个函数,所以就这样了。