2018.2月

script脚本有2种类型:

1.parser-inserted scripts 我们经常遇到的出现在HTML中以<script>方式出现,我们姑且称之为解析型脚本

2.script-inserted scripts 通过JS代码动态添加的script脚本,动态型脚本,不涉及页面标签的解析

动态型脚本在插入到DOM中后,即使马上从DOM中删除,也不影响脚本的存在:

A: 如果没有设置async属性并设置src属性,那么JS解析器就其当做async=true处理,此脚本将异步加载处理;

B: 如果没有设置src属性,那么无论是否设置async属性,通过为其text属性设置脚本代码的方法,那么动态添加的脚本被马上执行-可以认为是当前脚本一部分(实际不是,作用域不同);这个也是jquer的ajax加载执行外部JS脚本的方式。

c: 如果设置src属性并设置async=false,那么次动态脚本将被同步化处理,但是其执行时机不是暂停当前脚本的执行,而是等当前页面的解析工作完成后。多个async=false脚本按其插入的次序顺序执行。

 

http://blog.csdn.net/mym940725/article/details/79025720

关于defer和async:https://www.cnblogs.com/jiasm/p/7683930.html 

 

js对象中属性是以哈希表形式储存的,比循环快

Object.create(null) 可以创建__proto__为undefiend的对象,没有原型,适合做哈希表。

hasOwnProperty(key)也可以排除原型链上的属性,缺点:不能识别__proto__属性,hasOwnProperty(__proto__)为false,因为__protp__不是标准属性

posted on 2018-02-11 17:14  natsu07  阅读(96)  评论(0编辑  收藏  举报