理解js的全局变量和局部变量
2016-11-24 23:24
204 查看
全局变量:可以随时调用的变量。
局部变量:只能在函数内部调用的变量
比喻:清朝有兵部、吏部 、刑部三个部门,相当于三个函数。兵部可以调动守备军,吏部可以调动后勤兵,刑部可以调动狱卒,这三支部队相当于三个变量,只能被本部门调用,不能被其它部门调用。而三者都可以调动老板姓这支变量。
代码例子:
情况一
function aaa() {
i = “aiaiai”
}
function bbb() {
alert(i);
};
aaa();
bbb();
此时会输出“aiaiai”。这种情况下i相当于一个全局变量,可以在全局范围内调用。比喻来讲,任何其它部门获得皇帝许可后都可以调用兵部的守备军。如果是以下:
情况二
function aaa() {
var i = “aiaiai”
}
function bbb() {
alert(i);
};
aaa();
bbb();
此时不会输出任何结果。i这支部队已经被律法规定只能在兵部内用于特定的用途,即便是皇帝的命令也不顶事。
再如情况三
function aaa() {
i = “aiaiai”
}
function bbb() {
alert(i);
};
bbb();
此时也不会有任何结果。aaa()函数未被执行,相当于根本没有建立这个部门,更别说调用它内部的兵丁。
情况四
function aaa() {
i = “aiaiai”
}
function bbb() {
alert(i);
};
bbb();
aaa();
此时也不会有输出结果。bbb()这个部门再需要兵马的时候aaa()这个部门还没有建立,等到bbb()把问题解决后,国家才考虑到要建立兵部,这才执行aaa()函数。
局部变量:只能在函数内部调用的变量
比喻:清朝有兵部、吏部 、刑部三个部门,相当于三个函数。兵部可以调动守备军,吏部可以调动后勤兵,刑部可以调动狱卒,这三支部队相当于三个变量,只能被本部门调用,不能被其它部门调用。而三者都可以调动老板姓这支变量。
代码例子:
情况一
function aaa() {
i = “aiaiai”
}
function bbb() {
alert(i);
};
aaa();
bbb();
此时会输出“aiaiai”。这种情况下i相当于一个全局变量,可以在全局范围内调用。比喻来讲,任何其它部门获得皇帝许可后都可以调用兵部的守备军。如果是以下:
情况二
function aaa() {
var i = “aiaiai”
}
function bbb() {
alert(i);
};
aaa();
bbb();
此时不会输出任何结果。i这支部队已经被律法规定只能在兵部内用于特定的用途,即便是皇帝的命令也不顶事。
再如情况三
function aaa() {
i = “aiaiai”
}
function bbb() {
alert(i);
};
bbb();
此时也不会有任何结果。aaa()函数未被执行,相当于根本没有建立这个部门,更别说调用它内部的兵丁。
情况四
function aaa() {
i = “aiaiai”
}
function bbb() {
alert(i);
};
bbb();
aaa();
此时也不会有输出结果。bbb()这个部门再需要兵马的时候aaa()这个部门还没有建立,等到bbb()把问题解决后,国家才考虑到要建立兵部,这才执行aaa()函数。
相关文章推荐
- js---局部变量和全局变量(2)
- 全局变量,静态变量,局部变量的理解
- 谈谈JS的全局变量跟局部变量
- Javascript:谈谈JS的全局变量跟局部变量
- Javascript:谈谈JS的全局变量跟局部变量
- js---局部变量和全局变量(3)---实例
- 理解LoadRunner中的局部变量和全局变量 推荐
- 谈谈JS的全局变量跟局部变量
- 理解js的几个关键问题(1):全局变量new和关于hasOwnPropery和PropertyIsEnumerable 等
- js的全局变量和局部变量
- js中的局部变量和全局变量
- js 全局变量和局部变量
- js全局变量和局部变量
- Javascript:谈谈JS的全局变量跟局部变量
- js 全局变量与局部变量
- Javascript:谈谈JS的全局变量跟局部变量
- JS全局变量与局部变量
- js的局部变量和全局变量,js中的标签,break标签
- 全局变量和局部变量的理解
- Javascript:谈谈JS的全局变量跟局部变量