题目概览
请写出唤醒拔打电话, 发送邮件, 发送短信的例子
如何消除 transition 闪屏?
对 JS 隐式类型转换的理解
题目解答
请写出唤醒拔打电话, 发送邮件, 发送短信的例子
href="tel:176xxxxxxxx">
一键拨打号码
href="mailto:[email protected]">
一键发送邮件
href="sms:176xxxxxxx">
一键发送短信
如何消除 transition 闪屏?
对 JS 隐式类型转换的理解
等于判断: 是会去先转为相同数据类型, 再判断的. Array -> String -> Number -> Boolean 有顺序的
- 0 == '0'; // true, 转为 0 == 0
- 0 == []; // true, 转为 0 == '' 再转 0 == 0
- '0' == []; // false, 转为 '0' == '''0' == true // false, 转为 0 == true 再转 false == true
大小判断: 也是要先转为相同数据类型再比较的
- '1'> '-1'; // true, 实则为 1> -1, 反例 '1'> '1.1' 为 false
- 'a'> 'A'; // true, 实则为 97> 65, 反例'a'> 'b' 为 false
- 'a'> -1; // false, 这里不知是不是转成了 NaN> -1
- 'a'> ''; // true, 这个也不知是不是 97> undefined
- [-1]> 0; // false, 实为 -1> 0
- [-1]> ''; // true, 实为'-1'>''
undefined,null 和 NaN
- undefined == undefined; // true
- undefined <= undefined; // false, 怀疑是 0 <= undefined 在比较
- null> 0; // false
- null == 0; // false
- null>= 0; // true
- NaN> -1; // false,NaN 基本无法被比较
- NaN == NaN; // false
入参类型转换: 比如 Number 和 Math 相关的方法, 都会进行数字化转化等
运算时类型转换
- +'014' // 14
- +'0x12' // 18
- 1 + '14' // '114'
- 1 + '0x12' // '10x12'
- 1 + +'14' // 15
- '14' + 1 // '141'
- 1 + [1, 1]; // '11,1'
- 1 + {
- }; // '1[object Object]'
- 1 + null; // 1
- 1 +undefined; // NaN
- ++'14' // ReferenceError
- Infinity+Infinity; // Infinity
- -Infinity+(-Infinity); // -Infinity
- Infinity+(-Infinity); // NaN
- +0+(+0); // 0
- (-0)+(-0); // -0
- (+0)+(-0); // 0
来源: http://www.bubuko.com/infodetail-3475508.html