全局变量,作用于全局,一般就是整个文件,有且仅有一个,在一个地方使用并且改变了值,全局变量的值就改变了,
js中一般看变量定义的位置就可以知道它是否是全局变量。
var
bzdzglList
=
(function()
{
//
私有属性
var
a
//
私有方法
var
initLayout
=
function()
{
var
b
}
}
像这样的结构,a是全局变量,b是局部变量
详解
<html><head>
<script type="text/javascript">
/*
变量的scope是根据方法块来划分的(也就是说以function的一对大括号{ }来划分)
Javascript在执行前(!!!!!!)会对整个脚本文件的声明部分做完整分析(包括局部变量),从而确定实变量的作用域。
当全局变量跟局部变量重名时,局部变量的scope会覆盖掉全局变量的scope,(当离开局部变量的scope后,又重回到全局变量的scope,)
而当全局变量遇上局部变量时,用window.globalVariableName来使用全局变量
*/
</script>
<script>
var variable = "variable in global"
function show(){
alert(variable) //undefined 因为此时variable为局部变量但是代码执行到此处时未赋值
//alert(window.variable) // variable in global 全局变量
var variable = "variable in local" //声明并初始化variable
alert(variable) // variable in global局部变量
}
</script>
</head>
<body>
<input type="button" onclick="show()"/>
</body>
<script>
</script>
</html>
: