一、变量的声明和作用域
1.正常情况下同名的局部变量会覆盖掉全局变量
<script language="javascript">
var str = "stra";
function fun(){
var str = "strb";
document.write(str);//返回"strb"
}
fun();
document.write(str);//返回"stra"
</script>
2.在函数体中使用未声明的变量,那它就是全局变量
<script language="javascript">
var str = "stra";
function fun(){
str = "strb";
document.write(str);//返回"stra",这里str是全局变量
}
fun();
document.write(str);//返回"stra"
</script>
<script language="javascript">
function fun(){
str = "stra";
}
fun();
document.write(str);//返回"stra";VBscript无值
</script>
3.JavaScript中变量的作用域没有块级概念,在函数体任何地方声明的变量在整个函数体中都是有效的
<script language="javascript">
var str = "stra";
function fun(){
document.write(str);//返回"undefined",局部变量str在整个函数体中都有效;,VBscript无值
if(true){
var str = "strb";
}
document.write(str);//返回"strb"
}
fun();
document.write(str);//返回"stra"
</script>
基于上边几点,要养成使用变量都先声明并且将声明变量部分放在代码最上方的习惯!
二、变量的基本类型和引用类型
<script language="javascript">
var a = 1;
var b = a;
a = 2;
document.write(b);//基本类型,返回"1"
var c = [1,2,3];
var d = c;
c[0] = 4;
document.write(d[0]);//引用类型,返回"4";VBscript返回的是"1"
</script>
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |