`

ECMAScript原始类型精讲

    博客分类:
  • Ext
阅读更多

为了更好的深入了解JavaScript是如何运作的,必须先了解JavaScript的核心ECMAScript。ECMAScript的变量可以分为原始值和引用值;
  原始类型:Undefined,Number,String,Boolean,Null.

  判断变量的类型使用typeof操作符,可能返回"undefined","boolean","string","number","object","function",

<script type="text/javascript">
 function functionType()
 {}
 window.onload = function()
 {
     var stringType = "abc";
     var numberType = 123;
     var boolType = true;
     window.alert(typeof stringType);  //输出"string"
     window.alert(typeof numberType);  //输出"number"
     window.alert(typeof boolType);    //输出"boolean"
     window.alert(typeof functionType); //输出"function"
     window.alert(typeof undefinedType); //输出"undefined"
     window.alert(typeof null);   //输出"object"
     window.alert(typeof Math);   //输出"object" Math是内置对象
}
</script>

 比较特别的地方 typeof运算符对于null值会返回"object"。这实际上是JavaScript最初实现中的一个错误,然后被ECMAScript沿用了。现在,null被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。

  一、Undefined类型

  Undefined类型只有一个值 就是undefined

  "undefined"可能出现的几种情况

  1 定义了变量 但是没有赋值而直接引用

  2 无返回值的函数

<script type="text/javascript">
  function funA()
 {
     return "s";
 }
 function funB()
 {
     
 }
 window.onload = function()
 {
     var a;
     window.alert(a); //输出undefined
     window.alert(funA()); //输出s
     window.alert(funB()); //输出undefined
 }
</script>

 Null类型

  Null类型也只有一个值 就是null

  值undefined是从null派生来的,所以ECMAScript把他们规定为相等的

<script type="text/javascript">
 window.alert(null == undefined); //输出true
</script>

 虽然null和undefine相等 但是含义不同

  null表示尚未存在的对象 函数或方法要返回的是对象,那么找不到该对象时,返回的通常是null

Boolean类型

  Boolean类型有两个值 true和false 和C语言一样 对于数字来说 0可以转换成false 非0可以转换成true(C语言没有true,false变量 C可以用0代表false 非0代表true)

Number类型

  数字类型,整形有3种表示方法 八进制 十进制 十六进制 浮点数有2种表示方法 普通的表示方法 以及科学计数法

  八进制首位用0表示后面其余的位用0-7表示 如var a = 010;

  十六进制首两位用0x(或0X)表示后面其余的位用0-9,a-e(或A-E)如var a = 0xA1E;

  十进制可以用日常的表示方法 比如var a=123;

  浮点数的科学计数法 数组+e(或E)+幂 比如var a = 1.56e9 表示1.56*(10的9次方)

  所有整数都可表示为八进制或十六进制的字面量,但所有数学运算返回的都是十进制结果。如果需要得到八进制或十六进制的结果,可以用本地对象Number的方法进行转换

<script type="text/javascript">
  window.onload = function()
{
     var a = 010;
     var b = 0x10;
     window.alert(a+b);//输出24
 }
</script>

 Number有几个特殊的值 是本地对象Number的属性 分别是

  MAX_VALUE 返回能表达的最大的数。约等于 1.79E+308

  MIN_VALUE 返回能够表示的最接近零的数。约等于 2.22E-308

  POSITIVE_INFINITY 表示比MAX_VALUE还大的数 就是无穷大了

  NEGATIVE_INFINITY 表示比-MAX_VALUE还小的数 就是无穷小了

  POSITIVE_INFINITY=Infinity NEGATIVE_INFINITY=-Infinity 其中Infinity是内置对象Global的成员

  NaN(Not a number的缩写) 非数 比如当把string变量var a = "anc";转换成数字类型的时候 会返回NaN

  比较奇怪的地方是NaN不等于本身 比如 window.alert(NaN==NaN)会返回false

  所以 当判断一个变量是否是数字的时候 应该用Global的isNaN方法

String类型

  String用双引号用单引号括起来

  比如var a = "blue";和var b = 'blue'都是合法的 都表示一个字符串

  在C语言里,字符用单引号 字符串用双引号。但是JavaScript没有字符类型 只有字符串类型

 

 

分享到:
评论

相关推荐

    《JavaScript高级程序设计》阅读笔记(二) ECMAScript中的原始类型

    在深入探讨JavaScript编程语言时,了解ECMAScript中的原始类型是至关重要的基础知识点。ECMAScript定义了5种原始类型:Undefined、Null、Boolean、Number和String。这五种类型构成了ECMAScript数据类型系统的核心,...

    ECMAscript

    - **类型**:ECMAscript支持多种数据类型,包括字符串、数值、布尔值、数组、对象和特殊值如`null`和`undefined`。 - **关键字和保留字**:关键字如`var`、`function`、`if`等用于构建程序逻辑;保留字如`abstract`...

    ECMAScript中文最新(ECMA262)

    ECMAScript2021中文最新,ECMAScript2021中文文档,第1-6章,持续更新,喜欢请star。git地址https://github.com/fangniyima/ECMAScript-notes

    ECMAScript解读.doc

    ECMAScript 中的原始类型包括数字、字符串、布尔值、null、undefined 等。原始类型是不能被改变的值,具有不可变性。 2.6.1. typeof 运算符 typeof 运算符用于检测一个值的类型,例如数字、字符串、布尔值等。...

    ecmascript手册

    5. **错误定义(Error Definition)**:对错误对象和错误类型进行了更严格的定义,便于调试和处理错误。 6. **数字输出格式化(Numeric Output Formatting)**:提供了方法来格式化数字输出,提高显示效果。 7. **...

    Qt-Quick核心编程之ECMAScript初探,适合Qt初学者

    ECMAScript是一种弱类型的语言,变量没有固定的数据类型。例如: ```javascript var background = "white"; // 字符串 var i = 0; // 数值 var children = []; // 数组 var focus = true; // 布尔值 ``` ##### 1.3 ...

    浅谈ECMAScript 中的Array类型

    ECMAScript是JavaScript的标准化规范,而Array类型是ECMAScript中最常用的引用类型之一。在JavaScript中,Array类型是不同于其他编程语言中数组的,其特性包括可以保存任意类型的数据以及动态调整长度。 首先,...

    ECMAScript5.1中文版

    js 学习必备。 ECMAScript5.1中文版

    ECMAScript5.1中文版说明

    - 基本类型:ECMAScript 5.1中有五种基本数据类型,包括Undefined、Null、Boolean、Number和String,以及一个特殊类型Object。 - 引用类型:Object类型是所有复杂数据结构的基础,包括数组、函数和自定义对象。 -...

    JavaScript权威指南-ECMAScript5.pdf

    1. **变量与数据类型**:JavaScript是动态类型语言,这意味着变量在声明时无需指定类型。它有七种基本数据类型(Undefined、Null、Boolean、Number、BigInt、String和Symbol)以及一种复杂数据类型(Object)。 2. ...

    ECMAscript2018规范

    资源名称:ECMAscript2018规范内容简介:ECMAscript 2018(第九版 JS)已于 6 月底正式发布,带来了许多新特性。ECMAscript 2018 于今年2月出炉草案,TC39 技术委员会每两个月开会一次,讨论当前...

    ECMAScript Javascript Promise 详解

    ECMAScript Javascript Promise 详解

    ECMAScript概述

    ECMAScript,通常简称为ES,是JavaScript编程语言的标准,由欧洲计算机制造商协会(ECMA)制定并维护的ECMA-262规范定义。这个标准最初是基于Brendan Eich创建的JavaScript语言,目的是为了让脚本语言在不同平台上...

    ECMAScript 2020 语言规范(ECMA-262)

    6. **BigInt**:BigInt类型支持大整数,解决了JavaScript中Number类型不能精确表示大整数的问题。 7. **Flat Array Method(flatMap)**:类似于map方法,flatMap允许将数组中的每个元素映射成一个新数组,然后扁平...

    《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型

    引用类型在JavaScript中是非常重要的概念,它们相较于原始类型而言,在内存中占有较大的比重,并且其行为也更为复杂。以下是对引用类型以及相关内容的详细解读。 首先,ECMAScript的引用类型主要有Object类、...

    ECMAScript® 2016 7th Language Specification.pdf

    ### ECMAScript 2016 语言规范详解 #### 一、概述 **ECMAScript** 是一种脚本语言的标准规范,它定义了 **JavaScript** 的语法和语义。自1997年首次发布以来,ECMAScript 已经成为世界上最广泛使用的通用编程语言...

    ECMAScript 6入门.pdf

    对象的扩展则允许更简洁和灵活的对象字面量声明,而Symbol类型则提供了独一无二的值。 此外,Proxy和Reflect对象让开发者能对某些操作进行拦截和重新定义。ES6引入的二进制数组允许对原始的二进制数据进行操作。...

    ecmascript 6 入门.pdf

    ECMAScript 6(ES6),是JavaScript语言的下一代标准,于2015年6月正式发布。它由ECMA国际标准化组织制定,旨在让JavaScript能够编写大型的复杂应用程序,成为企业级开发语言。ES6的制定者计划每年发布一次标准,...

    Understanding ECMAScript 6 中文版

    Understanding ECMAScript 6 中文版

    ECMAScript 6 入门.epub 201806

    《ECMAScript 6 入门》是一本开源的 JavaScript 语言教程,全面介绍 ECMAScript 6 新引入的语法特性。 本书覆盖 ES6 与上一个版本 ES5 的所有不同之处,对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例代码...

Global site tag (gtag.js) - Google Analytics