博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript系列:ECMAScript原始类型
阅读量:7305 次
发布时间:2019-06-30

本文共 1724 字,大约阅读时间需要 5 分钟。

  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没有字符类型,所以可以使用这两种表示法中的任何一种。

转载于:https://www.cnblogs.com/libingql/archive/2012/09/23/2699377.html

你可能感兴趣的文章
ArchSummit深圳APM专场总结:性能监控与调优实践干货分享
查看>>
关于“Fluent UI”或Ribbon Design报道的补充说明
查看>>
云硬盘架构升级和性能提升详解
查看>>
微软宣布公开预览Dev Spaces for AKS
查看>>
Universal Windows Platform(UWP)应用的窗口特性
查看>>
Spring 5.0 GA版本发布,支持JDK9及反应式编程
查看>>
自组织的基础
查看>>
V8十年故事:从农场诞生的星球最强JS引擎
查看>>
解读2018:13家开源框架谁能统一流计算?
查看>>
OpsRamp推出以服务为中心的AIOps和云监控功能
查看>>
腾讯云视频技术全面升级 明眸、Tencent-RTC首度亮相
查看>>
数据不是石油,占得多未必有用
查看>>
敏捷的忠实拥护者David Hussman于8月18日去世
查看>>
使用HMTL5 API监控前端性能
查看>>
美征信巨头Equifax因Struts漏洞导致数据大规模泄露
查看>>
别忽视分布式系统这六大“暗流”
查看>>
Flipboard发布Web版,在Web技术实现上取得突破
查看>>
MySQL 5.7中的更多改进,包括计算列
查看>>
小米松果电子拆分成立大鱼半导体,专注IoT芯片研发
查看>>
技术实践如何支持演进式架构和持续集成
查看>>