在函数内没有“var”关键字的变量会发生什么?

时间:2011-08-08 17:10:21

标签: javascript variables global-variables

function bla() { a=5; }

a会自动成为全局变量吗?

什么时候确定?当第一次读取函数并将其放入内存时或仅在执行函数时?

3 个答案:

答案 0 :(得分:4)

如果您在函数内部分配变量而未使用var声明它,那么它将变为全局变量。

答案 1 :(得分:4)

首次执行该函数时,该变量将变为全局变量。

答案 2 :(得分:1)

执行该函数后,它会将变量置于全局变量中。就像包含var a = 5的函数一样 - 在实际调用函数之前不会执行它。

您可以使用以下功能进行确认:在致电该功能之前,您不会收到提醒。

function x() {
 alert(123);
 return 1;
}

function bla() {
 a = x();
}