2017-02-16 79 views
-2

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

console.log(this); 

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

你为什么不测试它? – Li357

+0

它显示错误。并且在采访中有人问我 –

+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()(); 

对于此代码,这两个命令将输出类似的内容(周围的上下文)。