• JavaScript系列:ECMAScript原始类型


      ECMAScript有5种原始类型(primitive type),即Undefined、Null、Boolean、Number和String。

      1、typeof运算符

      ECMAScript提供了typeof运算符来判断一个值是否在某种类型的范围内。可以使用这种运算符来判断一个值是否表示一种原始类型;如果它是原始类型,还可以判断它表示哪种原始类型。

      typeof运算符有一个参数,即要检查的变量或值。

      对变量或值调用typeof运算符将返回下列值之一:

      ◊ "undefined" —— Undefined类型变量

      ◊ "boolean" —— Boolean类型变量

      ◊ "number" —— Number类型变量

      ◊ "string" —— String类型变量

      ◊ "object" —— 引用类型或Null类型变量

    var str = 'Test';
    alert(typeof str); // output "string"
    
    alert(typeof 100); // output "number"

      2、Undefined类型

      Undefined类型只有一个值,即undefined。当声明的变量未初始化时,该变量的默认值为 undefined。

    var oTemp;
    alert(oTemp == undefined); // output "true"
    alert(typeof oTemp); // output "undefined"

      typeof对未声明的变量返回 "undefined"。

    // var oTemp;
    alert(typeof oTemp); // output "undefined"

      当函数没有返回值时,返回的也是值undefined。

    function fnTest() {
        // leave the function blank        
    }
    alert(fnTest() == undefined);  // output "true"

      3、Null类型

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

    alert(null == undefined); // output "true"

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

      4、Boolean类型

      Boolean类型是ECMAScript中最常用的类型之一。它有两个值true和false。

      5、Number类型

      ECMA-262中定义的最特殊的类型是Number型。这种类型既可以表示32位的整数,也可以表示64位的浮点数。直接输入的任何数字都被看作Number型的字面值。Number有一个特殊值NaN,表示非数(Not a Number)。NaN情况发生在类型(String、Boolean)转换失败时。NaN不能用于算术计算,NaN与自身不相等。

      使用函数isNan()判断是否为非数。

    alert(NaN == NaN); // output "false"
    
    alert(isNaN("blue")); // output "true"
    alert(isNaN("123")); // output "false"

      6、String类型

      String类型的独特之处在于,它是唯一没有固定大小的原始类型。可以用字符串存储0或更多的Unicode字符,由16位整数表示。

      字符串中每个字符都有特定的位置,首字符从位置0开始,第二个字符在位置1,依次类推。

      字符串字面量是有双引号(")或单引号(')声明的。由于ECMAScript没有字符类型,所以可以使用这两种表示法中的任何一种。

  • 相关阅读:
    面试题:垂直居中几种方法
    零碎记忆--随机
    v-model 和 :model 的区别
    Vue--keep-alive 理解
    vue 中 $route 和 $router 的区别
    Vue + Element UI 实现权限管理系统 前端篇(十):动态加载菜单
    Vue + Element UI 实现权限管理系统 前端篇(九):接口格式定义
    Vue + Element UI 实现权限管理系统 前端篇(八):管理应用状态
    Vue + Element UI 实现权限管理系统 前端篇(七):功能组件封装
    [2020牛客暑期多校训练营(第十场)C Decrement on the Tree]
  • 原文地址:https://www.cnblogs.com/libingql/p/2699377.html
Copyright © 2020-2023  润新知