红宝书学习笔记day3
p24
var message="some string";
alert(typeof message); //显示为string
alert(typeof 0626); //显示为number
typeof是操作符而不是函数,alert后的圆括号其实可以省略的啊。
alert typeof null; // 会返回object,因为null被认为是一个空的对象引用
undefined类型:
他只有一个值,就是undefined。
在使用var声明变量但没有初始化(我理解就是还没赋值)的时候,值就是undefined。
var message;
alert typeof message;
null类型:
他也只有一个值啊,就是null。
null表示一个空对象指针,使用typeof 检测的时候会返回object。
如果定义的对象用来保存对象,初始化值应该是null。
if{car!=null} //检测变量是否保存了一个对象的引用
undefined派生自null(感觉就是他儿子呗)
alert (null==undefined); //亲子鉴定,结果是true
只要用于保存对象的变量还没有保存对象,就应该保存null值,方便区分undefined和null。
p26
Boolean类型:true/false
true不一定是1,false也不一定等于0。
将值转换为对应的boolean值,可调用转型函数Boolean()。
var message="hi";
var messageAsBoolean = Boolean(message);
alert (messageAsBoolean);
转换规则如下:
| true | false | |
|---|---|---|
| string | 非空字符串 | 空字符串 |
| number | 非0 | 0和NaN |
| object | 任何对象 | null |
| undefined | n/a(不适用) | undefined |
p27
number类型:
整数还可通过八或十六进制,八进制第一位必须是0。
如果字面值中数值超出范围,前导0将被忽略。
八进制在严格模式下无效。
在进行算术计算,最终都会被转换成十进制。
p28
浮点函数:
数值当中必须包含一个小数点,小数点后必有至少1位小数。
默认情况下,小数点后带有6个0以上的浮点转换为以e为表示方法。
浮点的最高精度是17位小数。
不要测试某个特定的浮点数值。
p29
NaN:非数值,任何涉及到NaN的操作都会返回NaN,NaN与任何值都不相等,包括他本身。
alert(NaN==NaN); //结果是false
isNaN()函数:确定参数是否”不是数值“,任何不能被转换为数值的值会被返回true。
alert(isNaN(10)); //输出false
alert(isNaN("10")); //输出true,因为能被转换成数值10
alert(isNaN(true)) //boolean值可以被转换成0或者1
p30
数值转换:
1.Number()转换方式
| 转换前 | 转换后 |
|---|---|
| Boolean | 0或者1 |
| number | 传入或者返回相同数值 |
| null | 返回0 |
| undefined | NaN |
2.pareInt()
如果第一个字符不是数字字符或者负号,parseInt()返回NaN。
3.parseFloat()
如果第一个字符是数字符号,则会继续解析知道碰上非数字,小数点不算数字
例子:22.5会被转换为22
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hexo!

