使用对其他对象的引用时,javascript中let关键字的异常行为

时间:2019-07-03 07:24:24

标签: javascript node.js reactjs

在javascript中使用bind函数的同时,我创建了一个存在于对象中的全局变量(包含相同的变量和用于检索该变量的函数)。

let x = 9; 
const module1 = {
x: 81,
getX : function( ) {
    return this.x;
}
};

console.log(module1.getX()); //output 81

let varX = module1.getX;
console.log(varX()); // output undefined
let boundGetX = varX.bind(module1);
console.log(boundGetX()); //output 81

现在,如果我从第一行中删除let关键字

x = 9; 
 const module1 = {
 x: 81,
 getX : function( ) {
    return this.x;
 }
};

console.log(module1.getX()); //output 81

let varX = module1.getX;
console.log(varX()); // output 9
let boundGetX = varX.bind(module1);
console.log(boundGetX()); //output 81

为什么console.log(varX())的输出与let关键字的输出不同?

0 个答案:

没有答案