javascript数据类型

一,基本数据类型:number string Boolean NaN undefind

    引用数据类型: (对象数据类型)Object  (函数数据类型)function
    
number:正数 ,负数, 0
    NaN: 是不相等的;
    =/是赋值的意思;
    ==/是判断左右两边的值是否相等;
    /isNaN()检测一个值是不是有效的命题 无效为ture  有效为false
    parseInt()//强制取整转换 从左到右取整 不识别小数点
    parseFloat()//强制取整小数
    
Boolean:ture false
    !一个叹号是取反的意思 首先将值转化为布尔 在取反
    !!两个叹号的作用 是将其他的数据类型转化为布尔值 取反两次相当于
    对象==对象  //永远不相等
    对象==字符串//先将对象转换为字符串  然后再进行比较(调用toString方法)比较
    例子:
        [1,2,3,4,5]="";
        [1,2,3,4,5].toString()//"1,2,3,4,5"不等于空字符串""
        
二,数据类型转换规则
    1>null ==undefined/ture 但是null,undefined和其他书籍类型比较都不相等;

    2>数字==布尔//布尔需要转换为数字

    3>数字==字符串 字符串转换为数字

    4>如果只有一个值 判断这个值是真还是假,遵循:只有0,NaN "" null undefined
         这五个是假的  其他都为真
      
Object:引用数据类型(对象数据类型)

    //js数据类型中的对象数据类型

    //有多组[属性名和属性值]组成,多组键值对组成,有多个key:value
    //属性名和属性值是用来描述这个对象特征的
        var obj ={name:"zhufeng",age:6};
        var personinfo ={
            name:"张三",
            age:28,
            height:"180cm",
            weight:"60kg"
        }
        
        var obj ={name:"zhang"};//字面量创建方式  可以直观的看出

        var obj =Object();//实例创建对象

        //给一个对象增加一组属性名和属性值
        obj.name ="zhang";
        obj["name"]="zhang"; 

        //获取属性名和属性值,如果属性名不存在,默认返回的结果是undefined
            console.log(obj["name"]);
            console.log(obj.name);
            console.log(obj.zz);//没有obj.zz的属性值 所以为undefined
            
        //删除属性名和属性值
        假删除       obj.age = null;
        真删除       delete obj.age;
        console.log(obj);
        
        //对象数据类型中,还可以具体细分;
        //对象(object),数组(arr),正则(RegExp),时间(date),字符串(string)布尔
        var obj ={};
        var arr =[];
        var reg =/$/;
        
        //js中对象,类,实例的区别:对象是泛指:js中万物皆对象,类是对象的具体细分,
        //实例是类中的一个具体的事物,万物皆对象
        
        
三,基本数据类型和引用数据类型的区别
        var num1 = 12;
        var num2 = num1;把num1变量代表的值给了num2变量
        num++//自增1  自己加1 也可以写成 num+=1 
        
        数据类型的检测
        //typeof运算符  无论检测什么数据类型都会返回字符串

你可能感兴趣的:(javascript数据类型)