- 变量必须先定义后使用
- 允许为未定义的变量赋值,此时会自动定义变量,并且是作为全局变量出现。
- 允许重复定义变量
- 未赋值变量的默认值为:undefined
- 同名的局部变量的优先级高干全局变量。
- 随处定义的变量
<script type="text/javascript"> document.write(myCount,"<br />"); //之前虽然没有定义myCount,但此处不会报错,因为在之后有定义myCount变量,这样myCount就不是未定义变量而是未赋值变量。 var myCount = 1; document.write(myCount); </script>
变量优先级举例:
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript" > var myCount = 1; function myFun() { //此处输出的是undefined,不是1,因为局部变量的优先级高于全局变量。 document.write(myCount,"<br />"); //如果将此处的var去掉,myCount就变为全局变量了。这样上一句就出输出1了。 var myCount = 100; //此处输出100,JavaScript中虽然可以一处定义随处生效,但变量的赋值必须从赋值语句开始生效。 document.write(myCount); } </script> </head> <body οnlοad="myFun()"> </body>