关闭

[置顶] Javascript高级程序设计 读书笔记

标签: javascript读书笔记
102人阅读 评论(0) 收藏 举报
分类:

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

数据类型

一共有五种简单数据类型:
- 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()可以把变量转换为数字,规则如下:

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

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

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

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4963次
    • 积分:333
    • 等级:
    • 排名:千里之外
    • 原创:28篇
    • 转载:3篇
    • 译文:1篇
    • 评论:4条
    文章分类
    最新评论