I have encounter a probably strange problem. I have a js script named a.js:
var scope = "global";
var f = new Function("return scope");
console.log(f.toString());
f();
When I run nodejs a.js, it complain:
ReferenceError: scope is not defined
But when I run it interactively in nodejs REPL with the command .load a.js, it works correctly.
> .load a.js
> var scope = "global";
undefined
> var f = new Function("return scope");
undefined
> console.log(f.toString());
function anonymous() {
return scope
}
undefined
> f();
'global'
My nodejs version is v4.2.6.
So why the script works interactively, but not as the file option?
via zhenguoli
No comments:
Post a Comment