JS 变量

变量类型: 基本类型,引用类型

基本类型:undefined,null,Boolean,Number,String

引用类型:可能由多个值构成的对象。

下面看下 基本类型和引用类型的区别:

1.动态的属性:

       //引用类型 
          var Person=new Object(); 
          Person.name='joe'; 
          console.log(Person.name); //joe 
          //基本类型 
          var Person2='mike'; 
          Person2.name='joe'; 
          console.log(Person2.name);//undefined 

2.复制变量值
         //基本类型
          var num=5;
          var num2=num; //5
          // //使用num初始化num2时,num2也等于5,但是num2和num是完全独立的.赋值给num2的num是num的一个副本

          //引用类型
          var p1=new Object();
          var p2=p1;
          p1.name='joe';
          console.log(p2.name); //joe 首先 p1保存了一个对象的实例。然后这个值被复制到p2。 所以p1,p2都指向同一个对象。当给p1加name属性时,p2也会有相应的属性了
3.参数传递
        //在向参数传递 基本类型时,被传递的值会被复制到一个局部变量。js中就是 arguments对象中的一个元素。
        //在向参数传递引用类型时,会把这个值在内存中的地址复制给一个局部变量,因此这个局部变量的变化,会反应在函数的外部。

        //基本类型
        function add(num) {
            num += 10;
            return num;
        }
        var count=10,result=add(count);
        console.log(count); //10
        console.log(result); //20

        //引用类型
        function addProperty(obj){
            obj.name='joe';
        }
        var Person=new Object();
        addProperty(Person);
        console.log(Person.name); //joe
 
4.变量类型检查:
typeof   instanceof
        console.log(typeof 'aa') //string
        function Person() {
        }
        var p1 = new Person();
        console.log(p1 instanceof Person); //true
 
 
 
 
 
 
 
 
 
 
 
posted @ 2013-01-02 21:08  高捍得  阅读(345)  评论(0编辑  收藏  举报