zoukankan      html  css  js  c++  java
  • 《JavaScript高级程序设计》阅读笔记(二):ECMAScript中的原始类型

    2.6 原始类型

      ECMAScript有5种原始类型(primitive type),即Undefined、Null、Boolean、Number和String。ECMAScript提供了typeof来判断值的类型。

    1、typeof运算符:

    1 var sTemp="test string";
    2 alert(typeof sTemp);//outpus "string"
    3 alert(typeof 95);//outpus "number"

      typeof运算符返回值只有5种,分别为:如果变量是Undefined型返回"undefined",如果变量是Boolean型返回"boolean",如果变量是Number型返回"number",如果变量是String型返回"string",如果变量是一种引用类型或Null类型返回"object"。

    2、Undefined类型

      Undefined类型只有一个值,即undefined。当声明的变量未初始化和函数无明确的返回值时该变量的默认值和函数的返回值都是undefined。需要注意的是值undefined并不同于未定义的值,但typeof不区分这两种值。参考下面的代码:

     1 var oTemp;
    2 alert(typeof oTemp); //outpus "undefined"
    3 alert(typeof otemp2); //outpus "undefined"
    4
    5 alert(oTemp==undefined); //outpus "true"
    6 alert(oTemp2==undefined); //causes error
    7
    8 function testFunc(){
    9 //
    10 }
    11 alert(testFunc() == undefined); //outpus "true"

    3、Null类型

      Null也是只有一个值的类型,它只有一个专用值null。值undefined实际不是从值null派生来的,因此ECMAScript把它们定义为相等。

    1 alert(null == undefined); //outpus "true"

      尽管这两个值相等,但它们的含义不同。undefined是声明了变量但未对其初始化时的值,null则用于表示尚未存在的对象。

    4、Boolean类型

      Boolean有两个值true和false

    5、Number类型

      Number可以表示32位整数,还可以表示64位浮点数,不同进制间的表示:

    var iNum=55;// 10进制
    var iNum=070;// 8进制
    var iNum=oxAB;//16进制
    var fNum=3.125e7;//科学计数法表示浮点数

      几个特殊值也被定义为Number类型,前两个是Number.MAX_VALUE和Number.MIN_VALUE,它们定义了Number值集合的外边界。所有ECMAScript数都必须在这两个值之间,不过计算生成的数值结果可以不落在这两个数之间。

      当计算生成的数大于Number.MAX_VALUE时,它将被赋予值Number.POSITIVE_INFINITY,意味着不再有数字值。同样,生成的数值小于Number.MIN_VALUE的计算也会被赋予值Number.NEGATIVE_INFINITY,也意味着不再有数字值。如果计算返回的结果是无穷大,那么生成的结果不能再用于其他计算。

      事实上,有专门的值表示无穷大,即Infinity。Number.POSITIVE_INFINITY的值为Infinity,Number.NEGATIVE_INFINITY的值为-Infinity。

      可以对任何数调用isFinit()方法来判断是不是无穷大。例:

    var iResult = iNum*some_really_large_number;
    if(isFinit(iResult)){
    alert("Number is finite");
    }
    else{
    alert("Number is infinite");
    }

      还有一个特殊值是NaN,表示非数(Not a Number)。NaN一般为类型转换失败时的值,NaN不能用于算术计算,NaN的另一个奇特之处在于它与自身并不相等,因此推荐使用isNaN(),如:

    1 alert(NaN == NaN); //outpus "false"
    2 alert(isNaN("blue")); //outpus "true"
    3 alert(isNaN("123")); //outpus "false"
    4 alert(isNaN(123)); //outpus "false"

    6、String类型

      String是唯一没有固定大小的原始类型。ECMAScript的字符字面量:

      字面量        含义

      \n             换行

      \t             制表符

      \b           空格

      \r          回车

      \f          换页符

      \\          反斜杠

      \'          单引号

      \"          双引号

      \0nnn         八进制代码nnn表示的字符

      \xnn         16进制代码nn表示的字符

      \unnnn         16进制的代码nnnn表不的Unicode字符

    版权

    作者:Artwl

    出处:http://artwl.cnblogs.com

    本文首发博客园,版权归作者跟博客园共有。转载必须保留本段声明,并在页面显著位置给出本文链接,否则保留追究法律责任的权利。

  • 相关阅读:
    Maven 梳理
    Maven 梳理
    Maven 梳理-自动创建Maven项目(非web)
    Maven 梳理-手动创建Maven项目(非web),使用Maven编译、测试、打包、安装、引用
    Maven 梳理 -目录结构
    Maven 梳理-安装配置
    Spring 梳理-数据访问-DB
    JNDI数据源的配置
    Spring 梳理-JdbcTemplate简介
    Docker常用命令
  • 原文地址:https://www.cnblogs.com/artwl/p/2252246.html
Copyright © 2011-2022 走看看