zoukankan      html  css  js  c++  java
  • JS基本的数据类型

    js的基本数据类型有6种:Number,String,Boolean,Object,Null,Undefined
    ES6新增1种:Symbol

    Number

    Number 类型

    • 整数
      • 15(十进制)var num = 10;//10
      • 0377(八进制)var num = 070;//56
      • 0xff(十六进制)var num =
    • 浮点数
      • 1.2 var num = 3.141592653;
      • 1.4E2(科学计数法) var num = 3.14e2;
    • 特殊值
      • NaN(Not a Number)
      • Infinity(无限大)var num = 1/0;//Infinity

    ES6中:isNaN函数,isFinite函数,parseInt函数,parseFloat函数被移植到Number对象上了.

    Number.parseInt

    /* 字符串化为整型:parseInt(string,radix) */
    Number.parseInt('1.1');//1
    Number.parseInt('1.9');//1
    Number.parseInt('1b2.4');//1
    Number.parseInt('www');//NaN
    
    /*进制转换: 该函数的第二个参数表示字符串所表示的数字的进制*/
    parseInt('11', 2)//3
    
    /* + :也可以把数字字符串转换成数值*/
    + '42'; //42
    + '010';//10
    + '0x10';//16
    

    Number.parseFloat

    /* 字符串化为保留小数点:pareFloat(string) */
    Number.parseFloat('100.1');//100.1
    Number.parseFloat('12.4b5');//12.4
    Number.parseFloat('www');//NaN
    

    Number.isNaN:

    Number.isNaN(2.5);//false
    
    isNaN('abc');//true
     //'abc'无法转为一个数值,返回true
    
    Number.isNaN('abc'); //结果:false
    //'abc'是字符串,Number.isNaN不做类型转换,直接返回false
    

    Number.isFinite:

    用来检查一个数值是否非无穷。注意是判断非无穷,不是判断无穷

    Number.isFinite(1);//true 有限
    Number.isFinite(Infinity);//false  Infinity表示无穷大的特殊值
    Number.isFinite('abc');//false  不做类型转换,直接false
    

    Number.isInterger():用来判断是否是整数

    Number.isInterger(3.2);//false
    Number.isInterger(3);//true
    Number.isInterger(3.00);true
    

    Number.EPSILON常量:定义一个极小值

    console.log(Number.EPSILON);
    //结果:2.220446049250313e-16
    

    Number.isSafeInterger():安全整数

    JavaScript能够准确表示的整数范围在-253到253之间,
    最大值和最小值:Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER。

    Number.isSafeInterger(Number.MAX_SAFE_INTEGER);//true
    Number.isSafeInterger(Number.MAX_SAFE_INTEGER+1);false
    

    String

    放在双引号或者单引号中的值类型就是string类型

    var name = "hello";//双引号
    var name = 'july';//单引号
    

    boolean

    Boolean类型只有两个值,truefalse;

    var sex = true;
    if(sex){
        document.write('male');
    }else{
        document.write('female');
    }
    

    Object

    Object(对象)是一组无序的名值对的集合;

    /* 把一个对象实体赋值给一个变量`cat` */
    var cat = {
        name:'kitty',//名值对之间是`逗号`隔开的
        age:2,
        mew:function(){
            console.log('miao miao miao');
        }
    }
    /* 用`new`方法,定义一个新的对象 */
    var dog = new Object();
    

    Null

    Null类型的值只有一个null,出现这个值的意思是对象不存在;
    var car = null;

    Undefined

    Undefined类型只有一个值undefined;

    出现的场景有二:已声明未赋值的变量获取对象不存在的属性

    Symbol

    ES6新增:为了解决属性名冲突

    let sm = Symbol();
    console.log(sm)//Symbol() 意思是它是独一无二的
    

    类型识别-typeof

    var num;
    typeof num;//undefined
    var num = 1;
    typeof num;//number
    var num = '1';
    typeof num;//string
    var num = true;
    typeof num;//boolean
    var num = null;
    typeof num;//object
    let sm = Symbol();
    typeof(sm);//symbol
    

    原始类型和引用类型

    JS的6中基本数据类型,Number,String,Boolean,Undefined,Null原始类型;而Object引用类型

    原始类型的数据赋值后,就形成了对应的名值对;

    引用类型的数据赋值时,只是把一个值的地址赋予了一个变量;

    /* 原始类型 */
    var num1 = 123;
    var num2 = num1;
    num2 = 456;
    console.log(num1);//123
    
    /* 引用类型 */
    var obj1 = {a:1,b:2};
    var obj2 = obj1;
    obj2.a = 3;
    console.log(obj1.a);//3
    
  • 相关阅读:
    poj 2187 Beauty Contest(旋转卡壳)
    poj 2540 Hotter Colder(极角计算半平面交)
    poj 1279 Art Gallery(利用极角计算半平面交)
    poj 3384 Feng Shui(半平面交的联机算法)
    poj 1151 Atlantis(矩形面积并)
    zoj 1659 Mobile Phone Coverage(矩形面积并)
    uva 10213 How Many Pieces of Land (欧拉公式计算多面体)
    uva 190 Circle Through Three Points(三点求外心)
    zoj 1280 Intersecting Lines(两直线交点)
    poj 1041 John's trip(欧拉回路)
  • 原文地址:https://www.cnblogs.com/luwanlin/p/14254215.html
Copyright © 2011-2022 走看看