JS 权威指南 第一部分 核心JS 第三章 数据类型和值

数据类型:能够表示并操作得值得类型

JS允许支持3中基本数据类型:数字、文本字符串和布尔值,此外还支持两种小数据类型null和undefined,它们各自只定义了一个值。

JS还支持两种对象:

  1. 已命名的值的无序集合
  2. 有编号的值得有序集合,即数组
JS还定义了另一种特殊的对象——函数,函数是具有可执行代码的 对象。
除了函数和数组,JS还定义了一些专用的对象(不是新的数据类型,而是一些具体的类),例如:Data、Error、ExpReg。

3.1 数字

与Java不同,JS不区分整形还是和浮点,所有的数字都是由浮点型表示的,采用IEEE754 64位表示。

整形直接量:10进制,16进制(0x开头),8进制(0开头)但不建议用8进制,因为有的JS实现不支持。

浮点型直接量:可以用传统的方法,也可以使用指数计数法(师叔后跟随e或E,再加上正负号,再加一个整型指数)。

数值转换:3.2节

特殊的数值常量以及相应的检测函数:Infinity NaN Number.MAX_VALUE Number.MIN_VALUE Number.NaN Number.POSITIVE_INFINITY Number.NEGETIVE_INFINITY

isNaN() isFinite()

3.2 字符串

和Java不同,JS 中没有char类型,必须使用长度为1的字符串。
字符串是包含在单引号或双引号中的。
字符串常量中的转义序列
字符串的使用:可以用加号将两个字符串连接起来,可以用String对象的属性应用其方法
数字转为字符串:在需要的时候会自动转,也可以给数字后加一个空的字符串或用String()函数或用toString()方法
字符串转数字:需要时自动转,也可减去一个0,或用Nunber()构造函数,或用parseInt()和parseFloat()(这两个从开始处转换返回任何数字,忽略非数字部分,若不能转换返回NaN)

3.3 布尔值

JS中的布尔值不像Java中布尔类型那样纯粹,它很容易转换为其他数据类型或从其他数据类型转换而来

3.4 函数

JS中函数是一种数据类型(这是和许多语言所不同的),它是一种真正的数值,意味着可以被存储在变量、数组和对象中,汉可以作为参数传递给其它函数。

函数直接量:看起来像是没有函数名的函数定义,而与定义不同的是,它可以出现在其他JS表达式中(有时被称为拉姆达函数)。

3.5 对象

对象的创建:与Java类似,用new
对象直接量:由一个列表构成,列表元素用冒号分割的属性/值对,元素之间用逗号隔开,整个列表包在花括号中。
对象转换:与布尔、字符串、数字转换,后面在讨论

3.6 数组

以非负整数作为下表,而关联数组用字符串作为下标。
不支持多维数组,不过数组元素还可以是数组
由于JS是非类型语言,所以数组元素不必有相同类型,与Java不同
数组创建:用构造函数Array()
数组直接量:封闭在方括号中的序列,元素由逗号分隔。

3.7 null

表示无值,通常被看做对象类型的一个特殊值,代表无对象值,若一个变量值为null,则表示是无效值。

3.8 undefined

不同于null,区分是可用===或typeof

3.9 Data对象


3.10 正则表达式

由RegExp表示,用RegExp()构造函数创建,与Data对象不同,RegExp对象有直接量语法

3.11 Error对象


3.12 数据类型转换小结


3.13 基本数据类型的包装对象

基本数据类型都有相应的包装类,Number、String、Boolean,当需要在对象环境中使用时,就会创建一个瞬时存在的对象,访问完成后就被丢弃了。

3.14 对象到基本类型转换

布尔环境中:非空对象均转为true
有的时候再翻书吧

3.15 传值和传址

3种操作数据值的方法:复制、传递、比较。
两种截然不同操作数据值的方法:传值和传址
基础类型和引用类型:基本数据类型通过传值,引用类型用传址

                                                                                  




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值