美文网首页
高程三第三章之数据类型

高程三第三章之数据类型

作者: 会有猫惹 | 来源:发表于2017-06-19 11:13 被阅读0次
1.标识符:

所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。第一个字符必须是一个字母、下划线(_)或一个美元符号($);其他字符可以是字母、下划线、美元符号或数字。习惯采用驼峰大小写格式。

2.数据类型:

ECMAScript 中有 5 种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和 String。还有 1种复杂数据类型——Object,Object 本质上是由一组无序的名值对组成的

3.变量:

ECMAScript 的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。

4.严格模式:

在顶部添加"use strict"来启用严格模式。

5.typeof操作符:

返回以下值:

  • "undefined"——如果这个值未定义;
  • "boolean"——如果这个值是布尔值;
  • "string"——如果这个值是字符串;
  • "number"——如果这个值是数值;
  • "object"——如果这个值是对象或 null;
  • "function"——如果这个值是函数。
6.关于Undefined:
var message;
alert(message); // 返回undefined
alert(age); // 产生错误
typeof(message); // 返回undefined
typeof(age); // 返回undefined
7.关于Null:
var message = null;
typeof(message); // 返回object

从逻辑上看,null 值表示一个空对象指针,因此返回object。
实际上,undefined 值是派生自 null 值的,因此 ECMA-262 规定对它们的相等性测试要返回 true:alert(null == undefined); //true

8.关于Boolean:

数据类型 | 转换为true的值 | 转换为false的值
–––– | –––– | ––––
Boolean | true | false
String | 任何非空字符串 | ""(空字符串)
Number | 任何非零数字值(包括无穷大) | 0和NaN
Object | 任何对象 | null
Undefined | n/a | undefined

n/a(或 N/A),是 not applicable 的缩写,意思是“不适用”。

9.Number类型:

八进制字面量在严格模式下是无效的,会导致支持的 JavaScript 引擎抛出错误。
  浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数。例如,0.1 加 0.2的结果不是 0.3,而是 0.30000000000000004。
例如:

if (a + b == 0.3) {
  alert("You got 0.3.");
}

在这个例子中,我们测试的是两个数的和是不是等于 0.3。如果这两个数是 0.05 和 0.25,或者是 0.15和 0.15 都不会有问题。而如前所述,如果这两个数是 0.1 和 0.2,那么测试将无法通过。因此,永远不要测试某个特定的浮点数值。
  由于内存的限制,ECMAScript 并不能保存世界上所有的数值。ECMAScript 能够表示的最小数值保存在 Number.MIN_VALUE 中——在大多数浏览器中,这个值是 5e-324;能够表示的最大数值保存在Number.MAX_VALUE 中——在大多数浏览器中,这个值是 1.7976931348623157e+308。如果某次计算的结果得到了一个超出 JavaScript 数值范围的值,那么这个数值将被自动转换成特殊的 Infinity 值。具体来说,如果这个数值是负数,则会被转换成-Infinity(负无穷),如果这个数值是正数,则会被转换成 Infinity(正无穷)。

var num = Number.Max_VALUE;
isFinite(num); //  true
isFinite(num + 1); // false
10.NaN:

NaN 本身有两个非同寻常的特点。首先,任何涉及 NaN 的操作(例如 NaN/10)都会返回 NaN,这个特点在多步计算中有可能导致问题。其次,NaN 与任何值都不相等,包括 NaN 本身。例如,下面的代码会返回 false:
alert(NaN == NaN); //false
  isNaN()函数,不是数值或者不能转化为数值则返回true,是数值或者能被转化为数值则返回false。例如:isNaN(true);返回false。
  只有 0 除以 0 才会返回 NaN,正数除以 0 返回 Infinity,负数除以 0 返回-Infinity。

11.String类型:
字符字面量

  字符字面量整体被当作一个字符解析。
  ECMAScript 中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量
  将一个值转化为字符串有两种方式:1.利用toString()方法。 2.将其用+号与一个空字符""链接起来。

toString():

数字、布尔值、对象、字符串值都有toString()这个方法,但是null与undefined没有(会报错)。


例子

在不知道要转换的值是不是 null 或 undefined 的情况下,还可以使用转型函数 String(),这个函数能够将任何类型的值转换为字符串。
例如:

例子
12.Object类型

对象可以通过new操作符创建,如:var a = new Object();

Object 的每个实例都具有下列属性和方法。
  • constructor:保存着用于创建当前对象的函数。对于前面的例子而言,构造函数(constructor)就是 Object()。
  • hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定(例如:o.hasOwnProperty("name"))。
  • isPrototypeOf(object):用于检查传入的对象是否是传入对象的原型。
  • propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用 for-in 语句来枚举。与 hasOwnProperty()方法一样,作为参数的属性名必须以字符串形式指定。
  • toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应。
  • toString():返回对象的字符串表示。
  • valueOf():返回对象的字符串、数值或布尔值表示。通常与 toString()方法的返回值相同。

相关文章

  • 高程三第三章之数据类型

    1.标识符: 所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。第一个字符必须是一个字母、下划线(_)或一...

  • JavaScript高程读书笔记(目录)

    JavaScript高程读书笔记(1) 一、script标签 二、noscript标签 三、严格模式 四、数据类型...

  • 高程三第三章之数值转换

    有 3 个函数可以把非数值转换为数值:Number()、parseInt()和 parseFloat()。第一个函...

  • 高程三第三章之操作符

    1.位操作符 在 ECMAScript 中,当对数值应用位操作符时,后台会发生如下转换过程:64 位的数值被转换成...

  • 第三章 数据类型(二)

    第三章 数据类型(二) SQL 系统数据类型映射 上表中为 DDL 和 IRIS 数据类型表达式显示的语法是为 S...

  • Python 复习

    第二章 变量和简单数据类型 第三章 列表 list

  • 1.快速入门

    一、基本数据类型之int 类型 二、基本数据类型之char 类型 三、基本数据类型之float 类型 四、变量的用...

  • 【JavaScript高程总结】数据类型

    数据类型 JavaScript语言的每一个值,都属于某一种数据类型。JavaScript的数据类型,共有六种。(E...

  • js面向对象编程指南

    学习心得 第三章 6种数据类型 undefined string null number boolean obje...

  • 高程三第三章之理解参数

      ECMAScript 函数的参数与大多数其他语言中函数的参数有所不同。ECMAScript 函数不介意传递进来...

网友评论

      本文标题:高程三第三章之数据类型

      本文链接:https://www.haomeiwen.com/subject/ioghqxtx.html