JavaScript中以下代码的输出是什么?

时间:2017-02-16 23:11:56

标签: javascript

以下JavaScript代码的输出是什么?

console.log(this);  

var b = function() {        
    log: function() {         
        console.log(this);   
    }   
}   
b.log();

1 个答案:

答案 0 :(得分:2)

它的语法错误。我想你正在尝试实现以下两个脚本之一:

1 - 具有日志方法的对象:然后您应该编写如下代码:

console.log(this);  
var b = {        
  log: function() {         
    console.log(this);   
  }   
}   
b.log();

在这种情况下,第一个console.log(this)调用将输出周围的上下文;并且b.log()将输出对象本身。

2 - 你正在学习关闭&函数式编程:然后你应该将代码改为:

console.log(this);
var b = function(){
  return function(){
    console.log(this);
  }
}
b()();

对于此代码,两个命令都将输出类似的内容(周围环境)。