由于js基础差, 记性也不好,准备一边读书一边做记录,希望这样能加深一下记忆
/* 第一天 */
javascript 基本数据类型
js一共只有五种数据类型 Undefined, Null, Boolean, Number, String
1.Undefined
变量只声明未赋值 变量的值为undefined
var message
alert(message) //undefined 声明未赋值
alert(name) //报错 未声明的变量
2.Null
Null是一个空对象指针,typeof检测 null 结果为 “object”,如果要定义一个将来存放对象的变量,最好初始化为null, 便于检查对象是否赋值
if(car != null){
//进行其他逻辑
}
实际上undefined 派生自null alert(null == undefined); //true
3.Boolean
数据类型 | 转换为true的值 | 转换为false的值 |
Bolean | true | false |
String | 非空字符串 | “” |
Number | 非零数字包括无限大 | 0和NaN |
Object | 任何对象 | null |
Undefined | 无 | undefined |
4.Number
4.1浮点数值
浮点数最高精度为17位数,浮点数算数计算精度远远不如整数 0.1+0.2 = 0.30000000000000004
if( a + b == 0.3){
//如果 a = 0.1 b = 0.2 则测试不通过 a = 0.05 b = 0.25 测试通过
}
4.2数值范围
如果数值范围超出js的限制则返回 Infinity(正无穷),-Infinity(负无穷) 并无法进入下一次计算 可以用isFinite()验证
4.3 NaN
NaN(Not a Number) 非数值 表示本来要返回数值却未返回(不会像其他语言一样报错报错)
isNaN()函数只接收 一个参数,尝试转换为数值,不能转换为数值返回true //是否为非数
5.String
js中字符串单引号双引号没有区别,只要单引号开始单引号结束,双引号开始双引号结束(必须左右匹配否则报错),字符串是不可变的,要改变变量保存的字符串,只能用新的字符串去覆盖