zoukankan      html  css  js  c++  java
  • JavaScript高级程序设计(第2版)笔记 数据类型

        基本数据类型(Undefined,Null,Boolean,Number,String)和复杂数据类型(Object,本质上由一组无序的名值组成),ECMAScript数据类型具有动态性,不需要再定义其他类型。
        
        typeof操作符,返回字符串:undefined(如果这个值未定义),boolean,string,number,object(如果这个值是null或者对象),function(如果这个值是函数)
     
        Undefined类型
            只有一个值,undefined
        Null类型
            只有一个值,null,如果定义的变量准备在将来用于保存对象,那么最好将它初值赋值为null
            alert(null == undefined); //true
     
        Boolean类型
            两个值,true false
            转换 Boolean()  ture: 任何非空字符,任何非零数值,任何对象
                                    flase:空字符穿"",0和NaN,null,undefined
     
        Number类型
            三类:整数,浮点数,NaN(表明不是一个数,也是Number类型)
            整数:八进制表示(前置0),十六进制表示(前置0x)
            浮点数:
                    alert(0.1+0.2==0.3);//false ,IEEE754数值精度问题
                    Number.MAX_VALUE这个值巨大,1.79e+308
                    alert(Number.MAX_VALUE*Number.MAX_VALUE);溢出时,转化为特殊的Infinity值
            NaN:
                    定义:除0得到该结果或者目标值不是数值
                    alert(NaN == NaN);//false 
                    isNaN()函数:true:NaN,10,"10"(可以被转化为10),true(可以被转化为1)
                                          false:"blue"
                                          适用于对象,先调用对象的valueof()方法,如果不能再调用toString()方法,在基于上述规则判断。
            数值转换:Number(),parseInt(),parseInt(,),parseFloat()
            Number()规则:
                true 1,false 0
                null 0
                undefined NaN
                字符串:空 0,只含数字 转换成十进制数(前导0将忽略,不会被当做8进制),十六进制字符 转换成同等大小的十进制数值,有效的浮点数 转化成对应的浮点数(前导0忽略),其他 NaN
            parseInt()规则:更多的是看是否符合数值模式,总体思想,忽略前面的空格(Number()不会忽略哦),以第一个非空字符开始,到第一个不是数字的字符结束。
                
    parseInt("    1234blue");//1234
                parseInt("    -3264My");//-3264
                parseInt("");//NaN
                parseInt("0xA");//10
                parseInt("22.5");//22
                parseInt("070");//56 (8进制)
     
                Number("    1234blue");//NaN
                Number("    -3264My");//NaN
                Number("");//0
                Number("oxA");//10
                Number("22.5");//22.5
                Number("070");//70(不支持8进制)
     
               parseInt("14",5);//9,按5进制解析
            parseFloat()规则,与parseInt()思想一致
                    paresFloat("    1234blue");//1234(整数,他的确返回的是整数)
                    parseFloat("0xA");//0 只解析十进制的数  
     
     
        String类型 
            不可变,一旦创建不可改变,若变就重新建新的字符串实例。
                var strChange = "a"; //创建a
                strChange = strChange + "b"; //创建b,创建新的实例填充ab,销毁a和b
            数值的toString()方法,Num.toString(n),用n进制显示,n默认是10
     
        Object类型 对象是一组数据和功能的集合
            对象可以通过执行 new 操作符后跟要创建的对象类型名称来创建
            也可以创建Object类型的实例,再为其添加属性和方法,创建自定义对象。
       
          
     function Person(strName,intAge)
           {
                this.name = strName;
                this.age = intAge;
                this.sayHello = function(){alert(this.name + "hello");};
           }
           var person = new Person("Jam",10);
     
           var obj = new Object();
           obj.name = "Lily";
           obj.age = "9";
           obj.sayHello = function(){alert(this.name + "hello");};
     
           
            
            



    苦逼码农一个,
    人力资源管理专业本科毕业,
    懂点c#,
    懂点javascript,
    懂点sql,
    懂点设计模式
    ...

    @我是赵六六

    q:329952402

  • 相关阅读:
    Cheapest Palindrome(区间DP)
    Dividing coins (01背包)
    Cow Exhibition (01背包)
    Bone Collector II(01背包kth)
    饭卡(01背包)
    Charm Bracelet(01背包)
    Investment(完全背包)
    Bone Collector(01背包)
    Robberies(01背包)
    ACboy needs your help(分组背包)
  • 原文地址:https://www.cnblogs.com/acjialiren/p/2624389.html
Copyright © 2011-2022 走看看