[JavaScript] Scope变量使用范围,区域变量与全域变量。
JavaScript Scope
JavaScript Scope为变量的有效范围,也就是变量可以使用的范围。
区域变量
当变量在function里声明即为区域变量,区域变量只能使用于该function内。
范例:
变量Mycar声明于function Myfunction内 ,变量Mycar为区域变量。变量会在function开始执行时建立,并在function执行完成后删除变量。因此在function Myfunction执行完毕后,接下来的程序便使用不到变量Mycar了。
另外,若在function Myfunction(参数) 里指派参数,参数也是在function里的区域变量。
全域变量
当变量在function外声明即为全域变量,全域变量可以在网页所有的
变量Mycar声明于function外,变量Mycar为全域变量。变量会在声明时建立,并在网页关闭后删除变量。所以全域变量可以在function内与function外不断使用。
另外,当指派一个值给一个从未声明的变量时,变量会自动为全域变量。
将上面范例的声明注解:
上面两个范例都能显示如下画面:
全域变量与HTML
JavaScript声明的全域变量,在HTML属于window的对象。全域变量与window对象会互相的覆盖。
使用window.Mycar来取得变量: