美文网首页
1.变量类型和计算

1.变量类型和计算

作者: 飞菲fly | 来源:发表于2017-08-07 16:58 被阅读104次

    变量类型(值类型、引用类型)

    1.值类型的特点:不会因为赋值相互干扰
    var a =100;
    var b = a;//b=100
    a =200;
    var c = b;//c=100
    b =300;
    alert(c);
    
    2.引用类型{对象、数组、function}
    1.可以无限制扩展属性,节省空间
    //对象
    //abc三个变量同时把指针指向真实的对象
    
    var a = {age:20};
    var b = a;
    
    b.age = 21;
    c = b;
    c.age = 22;
    alert(b.age);//b.age=22;a.age=22;
    
    2.引用类型可以无限制扩展属性
    a.name ='lucy';
    a.bb = true;
    a.ccc=10000;
    console.log(a);//object{age:20,name:'lucy',bb:true,ccc:100}
    
    //数组
    var arr =[1,2,3];
    arr.age = 21;//arr[1,2,3,age:21]
    
    var arr2 = arr;
    arr2.age = 22;//arr[1,2,3,age:22]
    
    console.log(arr);//[1,2,3,age:22]
    
     //function
     function fn(){};
     fn.age = 21;
    
     var fn1 = fn;
     fn1.age = 22;
    
     console.log(fn.age);//22
    
    *typeof
    //1.可以区分值类型的强制类型(string,number,undefined,boolean)
    
    //2.不能区分引用类型(除了function),typeof null---->object
    //3.
    
     typeof null;//object
    
     typeof fn;//function
    
     typeof a;//object
    

    3.变量计算(强制类型转换)

    1.字符串拼接的时候会有强制类型转换
     var a = 100 +10;//110
     var b =100 +'10';//'10010'
    
    2.==
    100=='100';//true
    
    ''==0;//true
    
    null == undefined;//true
    
    3.===
    100==='100';//false
    
    ''===0;//false
    
    null === undefined;//false
    
    4.if的强制类型转换
     if(100){console.log(110)}//110
    
     if(''){console.log(110)}//undefined
    
    5..逻辑运算
     10 && 0;//0
    
     ''|| 'abc';//'abc'
    
    6.用一个简单的方式知道它在if里是true还是false
    var a = 100;
    !!a//true
    
    var b = '';
    !!b;//false
    
    1.在常见的变量中那些会在if里边当false用
    
    if(0){}  //false
    
    if(NaN){}  //(nots a number)false
    
    if(''){} //false
    
    if(null){}//false
    
    if(false){}//false
    
    if(undefined){}//false
    
    2.在if中当true用:
    
    !!100;//true
    
     !!'abc';//true
    
    7.内置函数
    Object
    
    //function object(){native code}
    
    Array
    
    //function Array(){native code}
    
    Function
    
    //function Function(){native code}
    
    8.内置对象
    Math
    
    JSON
    
    9.== 和 ===
    var  obj = {};
    
    //看一个对象的属性存不存在的时候用==
    
    if(obj.a == null){}
    
    //在一个函数中看a的参数是否存在的时候用==
    
    function (a,b){
       if(a == null){}
     }
    
     * 这两种情况的共同点:
    
    要保证这个==前面的不管是a是obj.a它是定义的

    相关文章

      网友评论

          本文标题:1.变量类型和计算

          本文链接:https://www.haomeiwen.com/subject/xnsalxtx.html