1.CSS 层叠次序问题
行内 > 内联 > 外联
2.id 为何只能在 html 中出现一次
id 属性为一个元素分配一个唯一的名字. 每个名字只能在被赋予的页面使用一次.
3.parseInt() 和 parseFloat() 的区别
parseInt(num):
遇到第一个非数字的字符就停止解析, 直接输出
如果第一个字符也是非数字, 输出 NaN
以 0x 开头的字符, 会解析为十六进制
以 0 开头的字符, 会解析为 8 进制
- parseInt("");//NaN
- parseInt("123abs");//123
- parseInt("0x123");//291
- parseInt("070");//56
- parseInt(num1,num2):
num2 为指定的进制, 对 num1 进行转换
parseInt("010101",2);//21
parseFloat() 是遇到第一个小数点则停止解析
- parseFloat("123.34.343");//123.34
- parseFloat("123mkdvnjsn");//123
- parseFloat("e0x111");//NaN
- parseFloat("0x1");//1
4.Map 的使用
Map 是一组键值对的结构, 具有极快的查找速度.
例如:
- var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
- m.get('Michael');//95
一个 key 只能对应一个 value
5.0.1+0.2 为什么不等于 0.3? 如何解决浮点的问题? 了解 bignumber.JS 的浮点数库函数
0.1+0.2!=0.3 这与 JavaScript 在二进制中存储浮点数的准确程度有关
Math.floor() 向下取整
Math.ceil() 向上取整
Math.round() 四舍五入
num.toFixed() 保留几位小数
6. 计算以下操作的返回值
- typeof null//object
- null == undefined//true
- parseInt("")//NaN
- parseInt("aasdf")//NaN
- parseInt("1234tyu")//1234
- parseFloat("0xA")//0
- parseFloat("23.12.31")//23.12
- Number(null)//0
- Number("asdf")//NaN
- Number("")//0
- Number("0001231")//1231
7.for-in , for-of, forEach 的用法和区别
for-in 语句
是一种精准的迭代语句, 可以用来枚举对象的属性
语法:
- for(var index in objArr){
- console.log(objArr[index])
- }
如果要循环迭代的对象是 null 或 undefined, 会报错.
某些情况下, 你的 for-in 代码会以随机顺序循环输出
forEach 语句
语法
- objArr.forEach(function (value) {
- console.log(value);
- });
foreach 方法不能使用 break 语句跳出循环, 可以使用 return 从函数体内返回
for-of 语句
语法:
- for(let value of objArr){
- console.log(value)
- }
可以使用 break, continue 和 return
for-of 并不适用于处理原有的原生对象
来源: http://www.jianshu.com/p/6944fb78e7cc