Javascript高级程序设计 读书笔记

本博客应该会随着我看书的进度不定期更新吧,加油!
应该只会记录自己认为自己不熟悉的点,比较简单的就不做记录啦。纯属自身学习帮助用的~

数据类型

一共有五种简单数据类型:
- Boolean
- Number
- String
- Null
- Undefined

typeof可以获取变量类型。

Undefined

一般来说声明了变量然而没有初始化的话会返回undefined。
一个比较奇怪的点是,未声明的变量使用typeof 会返回undefined。

var message;
var nullVar = null;
alert(typeof message);//undefined
alert(typeof num);//undefined
alert(typeof nummNull);//Object

Null

应该也注意到null类型会返回Object类型,这是一种复杂数据类型。如果定义的变量在将来用于保存对象,那么最好初始化为null。这样只要检查是否为null就知道变量是否已经保存了一个对象的引用。
注意,undefined派生自null。因此会有下面的结果

alert(null==undefined);//true

Number

var octalNum1 = 070;  //八进制
var octalNum2 = 079;  //无效的八进制,解析为79

var hexNum1 = 0xA;  //十六进制
数制转换

Number()、parseInt()、parseFloat()可以把变量转换为数字,规则如下:

参数结果
Booleantrue->1 false->0
数字简单
null0
undefinedNaN
字符串如果只含数字,按十进制转换,如果满足十六进制规则转换为十六进制,如果是空字符串,变为0,如果都不满足,变为NaN
对象先调用valueOf()方法,将返回值进行转换。如果转换结果为NaN,调用toString()再判断

一般我们用parseInt()或者parseFloat()而不用Number(),因为Number()转换不甚合理。parseInt()好在:

  1. 可以识别八进制十进制
  2. 可以忽略掉数字后面的字符串,比如parseInt(100px)返回100

不过ECMAScript不同版本中对于第一点有一些不同。因此,parseInt还有第二个参数作为转换的基数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值