zoukankan      html  css  js  c++  java
  • javascript_03-数据类型

    数据类型

    JavaScript 和 Java 一样,也是有基本数据类型的。但也是有区别的。

    JavaScript中的数据类型

    简单(基本、值)数据类型
    • number
    • string
    • boolean
    • undefined、null
    复杂(引用)数据类型
    • Object、Array、Date 等
    查看当前变量的数据类型
    • typeof name
    • typeof (name)

    数值字面量

    字面量

    固定的值,让你从“字面上”理解含义

    数值字面量

    var age = 18; //数值字面量,18为字面量
    

    number类型

    十进制

    十六进制
    var num = 0xA

    八进制

    浮点数

    var n = 5e-324;

    浮点数值的最高精确度是17位小数,在进行算术计算时,其精确度远远不如整数。

    var result = 0.1+0.2 //结果不是0.3 而是0.300000000000000004
    
    0.1+0.2 == 0.3 //false
    0.1+0.3 == 0.4 //true
    
    0.07 * 100 ;7.00000000000000001
    

    想比较的话只能 0.1 * 10 ,然后 parseInt 转换,然后再相加比较。

    永远不要测试某个特定的浮点数值是否相等。

    数值范围

    内存限制,ES无法保存世界上所有的数值

    • 最小值:Number.MIN_VALUE,5e-324
    • 最大值:Number.MAX_VALUE,1.7976931348623157e+308
    • 无穷大:Infinity
    • 无穷小:-Infinity

    数值检测

    NaN: not a number. 非数值

    isNaN(); //是数字返回false;

    console.log(parseInt("abc"));//NaN
    
    console.log(parseInt("abc"/10));//NaN
    
    var num = prompt("请输入一个数字")
    if(isNaN(num)){
        console.log("不是一个数字");
    }else{
        console.log("是一个数字");
        
    }
    

    String 类型

    字符串字面量

     var name = "zhangsan"; // "zhangsan"是字面量
    

    字符串用引号引起,单引号和双引号是一样的。

    获取字符的长度用length

    var name="hukj"; alert(name.length); //4
    

    转移符

    console.log(""Ancona"");
    

    换行
    制表符
     空格
    回车
    f 进纸
    斜杠
    ' 单引号
    " 双引号

    字符串的不可变

    var str ="hello";
    str = str+"world";
    console.log(str);
    

    当执行第二行代码时,会在内存空间中开辟新的栈,然后通过垃圾回收机制来清理原来的str。这就是所谓的字符串不可变。

    字符串拼接

    var a ='100';
    var b =100; //b中的 number:100 会自动转型为str
    console.log(a+b); //100100
    console.log(a-b); //0
    

    Boolean 类型

    Boolean 类型有两个字面量:true 和 false;
    var result = Boolean("a");
    console.log(result); //true

    Boolean 当为空字符串,0,NaN,null,undefined 时,为false;

    Undefined 类型

    undefined 是 Undefined 的字面量;表示变量未赋值。

    var message;
    console.log(message);// undefined
    
    var a;				//undefined
    if(a){				//false
    	alert('有值')
    }else{
    	alert('无值')	//显示
    }
    

    a未赋值为undefined,undefined在Boolean中转换为false;

  • 相关阅读:
    使用auto_prepend_file和auto_append_file
    maven导入外部jar包的方法
    scala的多种集合的使用(3)之遍历集合的方法
    scala的多种集合的使用(4)之列表List(ListBuffer)的操作
    scala的多种集合的使用(2)之集合常用方法
    UltraEdit文本行数多变一和一边多
    scala的多种集合的使用(1)之集合层级结构与分类
    用Case类生成模板代码
    寻:IE总弹出广告窗口方法? Hello
    ASP.net中提示"分析器错误""未能加载类型" Hello
  • 原文地址:https://www.cnblogs.com/hukuangjie/p/11172295.html
Copyright © 2011-2022 走看看