今天学习了js变量原理。为了使自己更好的理解,故写此文记录。

 

老师说,为了更好的学习理解js,及以后的各种语言,必须理解两个东西。

1、js如何在浏览器操作DOM。(这个问题我要再研究一下...)

2、变量原理。

变量的赋值:传递赋值和引用赋值。

传递赋值:

 
  
  1. <script type="text/javascript">  
  2.     var a = 3;  
  3.     var b = a;  
  4.     alert(a);  
  5.     b = 5;  
  6.     alert(a);  
  7. </script> 

a和b为传递赋值,第四行alert(a)为3, 第六行alert(a)为3

两者相互独立,修改时不影响对方。

 

引用赋值:

 
  
  1. script type="text/javascript">  
  2.     var a = {age:22,h:175};  
  3.     var b = a;  
  4.     alert(b.age); // 22      
  5.     b.age = 23;  
  6.     alert(a.age);  // 23  
  7. </script> 

 

两者共同指向一个内存地址。b变了,a跟着变。

在javascript语言里,不必像PHP那样用 "&"符号来声明引用赋值.

Javascript里,数组,对象, 函数 ,这三者默认即是引用赋值的.

 

p/s:虽不是第一次接触变量赋值问题. 但是第一次明明白白了。以前接触过java,各种变量赋值完了,并不能准确的得出其将会打印出什么结果。