原生js的一些盲点

1、document.readyState 有三个值loading  interactive  

//loading 仍在加载 interactive  文档已被解析 正在加载状态结束 但是样式表和框架之类的子资源仍在加载 complete 文档和所有子资源已完成加载。表示  load 状态的事件即将被触发
2、DOMContentLoaded  文档被完全加载和解析完成之后
addEventListener('DOMContentLoaded  ',dosomething,boolean) 第三个参数默认false(冒泡阶段执行)true(捕获阶段执行)
3、for...in 遍历循环对象属性时会把原型上的所有属性都遍历一遍,解决方法用hasOwnProperty过滤不想看到的
Object.prototype.bar=1;
    var foo={moo:2}
    for(var i in foo){
        console.log(i)
    }
    for(var i in foo) {
    if (foo.hasOwnProperty(i)) {
        console.log(i);
        }
    }

4、双等的写法不好,双等书写方式会自动转类型容易出现不可控的错误,尽量改变坏习惯 ,使用严格的===

5、代码一定要加分号,当程序员不写分号,浏览器会自动补齐分号,可能出现位置错误

6、if有大括号执行{}里面的函数,无{}执行最近的一行代码

7、concat

用于连接两个或多个数组,不会改变现有数组,仅仅返回被链接数组的一个副本
arrayObject.concat(arrayX,arrayX,......,arrayX)
实例1:

实例2:

实例3:

8、argument

https://blog.csdn.net/zhouchangshun_666/article/details/90631889

 
 9、eval 计算或去除引号,如果去除引号发现可以计算eval将返回计算结果,否则打印出去除引号的结果

你可能感兴趣的:(原生js的一些盲点)