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

 
 
 
 
 
 
 
 
 
 
 

你可能感兴趣的:(js)