Javascript在全局范围速记中声明变量

时间:2018-11-14 11:45:19

标签: javascript scope ecmascript-5

var object = {name: "Murad"};
(function(window){
  var a = b = 10;
})(object)

为什么我可以在全局范围内访问b变量?

var a = b = 10

跟不一样吗?

window.b = 10;
var a = window.b;

1 个答案:

答案 0 :(得分:2)

您可以访问变量 b ,因为您指定了变量名-b,但您没有像var let或const那样声明它。 JS将看到为变量分配了一个名称,它将在全局范围内自动创建该变量。