前端那些容易忽略的知识点

自学前端有一年时间了, 整理下容易忽略的知识点

建议自己做一些实验

1. NaN只能用isNaN来判断

2. 在es5里面, 函数有两种执行方法: call 和 construct , 调用函数使用call, 当构造函数使用时使用construct

3. ++ a 和 a ++不一样, 前者先自加后赋值, 后者先赋值再自加

4. script有两个异步属性: async 和 differ , 前者不保证执行顺序, 后者保证执行顺序

5. null是空对象指针, 所以typeof操作符返回object

6. boolean类型和数字类型并没有什么关系, true不一定是 1 , false 不一定是 0

7. 对象转化为 boolean 都是true

8. 0.1 + 0.2 不等于0.3 这种问题并不只是 js 有 使用IEEE754的编程语言都有

9. && 和 | | 操作符短路效应 && 找 false , | | 找 true

10. 逗号操作符就是返回最后一个, (个人认为没什么用)

11. switch--case选择使用的===, 而且case并不只是常量, 可以是表达式, 如果工作中case不用break应该加入注释向同事坦明

12. js里面最经典的伪数组就是函数的argument数组, 不是array实例, 有length属性, 可以遍历

13. 函数的参数基本类型是复制的, 函数运行并不会改变原变量的值, 如果是复杂类型, 传递的也是值, 而不是引用(也不会改变原来的值)

14. typeof操作符返回六种类型: string, number, object, function, boolean, undefined

15. 使用var声明的变量会保存在最近的一个作用域内

16. 访问变量, 作用域越近越快

17. 数组对象array构造函数传入数字表示数组长度, 其他表示数组里面的值

18. js的数组可以是稀疏数组

19. ES5提供一个isArray函数来检测数组

20. 数组常用方法: pop(删除最后一个), unshift(头部增加一个), push(尾部添加一个), shift(头部减去一个), 并且操作数都会作为返回值, 所以栈和队列实现比较方便

21. 普通函数里面的this均指向window

22. img标签的src属性是异步加载

猜你喜欢

转载自www.cnblogs.com/jedenzhan/p/9183743.html