nodejs控制台运行和保存文件运行结果不一致,请问是什么原因呢?
nodejs吧
全部回复
仅看楼主
level 1
yunjian705 楼主
var length = 10;
function fn() {
console.log(this.length);
};
var obj = {
length: 5,
method: function(fn) {
fn();
arguments[0]();
}
};
obj.method(fn, 1);
这段代码如果保存成文件用node命令运行输出
undefined
2
但是直接在node控制台运行却输出
10
2
有人知道这是咋回事么?
2016年11月16日 06点11分 1
level 11
看了半天,没看出,为什么会出现2而不是5。还有,this是指向全局,但是以文件形式运行的时候,var不是声明在全局而是在这个文件的变量下,所以出现undefined,很正常
2016年11月22日 00点11分 2
1