在javascript中,定义变量有两种方式 如:
(1)var num1;
(2) num1;
这两种变量有什么区别?
1. 如果在<script></script>下两种方式相同,都是定义全局变量,即window的属性。
代码:
<script>
var num1 = 'hello javascript';
num2 = 'hello window';
alert(window.num1+"~~" + window.num2); // 打印 hello javascript~~ hello window。
//这就表明num1,num2变量成了window 对象的属性
</script>
2.如果在 funtion函数中,这通过var声明的变量就成了局部变量,没有通过var声明的还是局部变量(即添加window的一个属性)
下面通过一个例子说明全局变量,局部变量的区别
<script>
var num1 = "Nike";
num2 = "addiss";
function changeNum()
{
document.write(num1+"~~"+num2+"</br>"); ///num1 = undefind 是因为该函数定义了num1变量,但打印语句//在num1赋值之前。
document.write(window.num1+"~~"+window.num2+"</br>");
var num1 ="puma";
num2 = "lining";
document.write(num1+"~~"+num2+"</br>");
document.write(window.num1+"~~"+window.num2+"</br>");
}
changeNum();
document.write(num1+"~~"+num2+"</br>");
document.write(window.num1+"~~"+window.num2+"</br>");
</script>