`
feipigzi
  • 浏览: 111377 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

重读《Javascript高级程序设计》二

 
阅读更多

第二章 在 HTML 中使用 Javascript

 

留下一些问题

  • script 标签的 defer 和 async 细节

两属性都只针对外部引用,html 4 定义 defer,h5 定义 async

 

通常浏览器下载解析 html 时,遇到引用的 script 会按顺序下载(也许默认异步)然后按顺序执行,下载和执行都会阻塞浏览器解析渲染文档。当遇到 defer 时,则会保证该脚本会在文档 ready 之后执行,只影响执行时机,多个 defer 则按照标签的出现顺序;而 async 则表示立刻异步下载该脚本,哪个先下载完则立刻执行。

 

标准上,要求 defer 执行先于 DOMContentLoaded ,但是各浏览器可能,chrome没问题;而 async 与 DOMContentLoaded 先后完全取决于 脚本下载完成 与 DOMContentLoaded 的先后。关于两者的不同可以参考 https://www.webkit.org/blog/1395/running-scripts-in-webkit/

 

  • 目前来说,实践 JS 异步的方式有哪些?

http://www.stevesouders.com/blog/2009/04/27/loading-scripts-without-blocking/

因为兼容性问题,defer 和 async 更多适用于 H5,那么为了让JS异步,可以通过

1、 动态创建 script 标签 

2、xhr请求脚本代码,然后在拼成内嵌script添加到文档中,好处是可以控制执行时机

3、xhr请求脚本代码,然后通过 eval 方法执行

4、通过iframe 下载脚本代码,类似#2 #3

 

  • 如果 defer 能正常使用,那么把 script 放在 body 前面并加上 defer,是否跟 “script 放在 `</body>` 前效果一样?

http://www.zhihu.com/question/20546709

 

从浏览器解析执行 html 的过程来看,浏览器是边下载边解析 html,那么当在 body 结束前遇到 script,如果没有 defer 那么会立刻下载解析执行,会阻塞浏览器渲染,如果有 defer,浏览器完全可以继续下载后续的 html (即便只是标签的结束部分),等整的把整个文档下载完,再去执行那些 defer 的 script,如果只是一个脚本,我想现实效果没多大差别。

 

  • script 标签结束符不能出现在代码里,浏览器解析xml类语法机制

只有 < 和 & 在XML内容中直接出现是非法的,需要用实体符号 &amp; 和 &lt; 来表示,同理,也不能在内容中直接写结束标签。在 script 标签内也不能出现类似 alert("</script>") 这样的代码,当然可以通过转义 alert("<\/script>"),否则一旦解析到这里就回认为结束了。 

 

  • 页面解析遇到script标签是,浏览器都做了什么事情

 

  • `<script/>`这样简写闭合可以吗?最新的html标准里面如何规定,哪些标签可以缩写闭合

过程好复杂,xhtml 要求每个元素必须闭合,无内容的标签可以自闭合,html没有自闭规则。

参考 http://blog.jobbole.com/61514/

w3c 的 H5 标准是:

此类标签应由下列部分组成,顺序须与下表保持一致:

  • 一个 “<” 字符。
  • 标签名。
  • 此项可选,一个或多个属性,每一个属性的前面必须有一个或多个空格。
  • 此项可选,一个或多个空格。
  • 此项可选,一个 “/” 字符,此项只能在无内容元素中出现。
  • 一个 “>” 字符。

倒数第二部分的 “/” 字符是可选的,而且没有任何实际含义。所以 <br> 和 <br /> 其实没有实质区别,另外要注意,script是有内容标签,所以严格来说,script 没有自闭一说。

 

  • 如果具有 src 属性的 script 标签内还嵌入 js 代码,那么按标准,浏览器怎么解析执行

 

分享到:
评论

相关推荐

    Intel汇编语言程序设计 第四版

    本书全面细致地讲述了汇编语言程序设计的各个方面。从微处理器体系结构、工作机制到指令集;从最基本的编译器链接器的使用到高级过程、结构和宏的使用;从用纯汇编编写程序到用VC++,BC++等最新编译器与汇编的混合...

    重读闭音节PPT课件.pptx

    2. Uu在重读闭音节中通常发/ʌ/的音,如在"but"中。 3. Oo在重读闭音节中通常发/ɒ/的音,如在"box"中。 4. Ii在重读闭音节中通常发/ɪ/的音,如在"bit"中。 5. Ee在重读闭音节中通常发/ɛ/的音,如在"bed"中。 ...

    英语语音重读的规则PPT课件.pptx

    2. 位于句首的介词通常要重读,如"On my way to school, my bike was broken"中的"on"。 3. 当be动词、助动词与否定词"not"连用时,如"I'm sorry I can't do that"中的"can't"或"Didn't I tell you yesterday?"中的...

    Intel汇编语言程序设计(第四版)

    本书全面细致地讲述了汇编语言程序设计的各个方面。从微处理器体系结构、工作机制到指令集;从最基本的编译器链接器的使用到高级过程、结构和宏的使用;从用纯汇编编写程序到用VC++,BC++等最新编译器与汇编的混合...

    英语发音规则(重读音节和非重读音节).pdf

    英语发音规则(重读音节和非重读音节).pdf

    音节划分元音字母在重读非重读中的发音.ppt

    重读的规则包括:单音节词全部重读,双音节词通常倒数第二个音节重读,带有前缀的双音节词前缀单独算一个音节并重读,如"unhappy"。 元音字母在重读和非重读音节中的发音有所不同。在重读音节中,元音通常发音更...

    英语音节划分重读规则读音规则.doc

    c) 一些词根据前缀和词性决定重读位置,比如名词通常第一个音节重读,动词等其他词性第二个音节重读,如 "re'cord", "con'duct"。 d) 复合词和带有前缀的词,如 "out'side", "re'tell",通常有两个重读音节。 2. ...

    重读冰心,感受母爱作文.doc

    这篇文档实际上是一篇以“重读冰心,感受母爱”为主题的作文,而非与IT行业相关的知识内容。文章通过描述作者对冰心作品的理解,尤其是冰心对母爱的赞美,来表达作者对母爱的深刻感悟和个人经历。母爱在文中被视为最...

    重读南京百科知识竞赛题及答案.doc

    重读南京百科知识竞赛题及答案.doc

    元音字母在重读和非重读音节中的读音.doc

    2. 有些特殊情况,如在某些单词中,"a"在非重读音节中可能读作[ei](如"operate"),"u"在非重读开音节且在辅音字母j、l、r、s后面时,读作[u(:)]音,如"July"和"February"。 最后,我们讨论元音字母在重读音节中的...

    音节划分元音字母在重读非重读中发音.ppt

    音节划分元音字母在重读非重读中发音.ppt

    英语音节划分-重读规则-读音规则.doc

    c) 具有"de-", "in-", "re-"等前缀的词,其重读位置可能因词性和意义变化,比如名词"record"重读第一个音节,动词"re'cord"则重读第二个。 d) 复合词和带有前缀"re-", "ex-", "un-", "pre-"等的词,可能有两个重读...

    音节划分与音节重读.doc

    【音节划分与音节重读】是英语学习中的重要概念,主要涉及到单词发音的准确性。音节划分是将单词分解成若干个发音单位,每个单位由一个或多个字母组成,至少包含一个元音字母。以下是对音节划分规则的详细解释: 1....

    教师资格证初中英语语音试讲稿-重读.pdf

    接着,设计语调和重读训练的教学活动。例如,可以组织角色扮演,让学生模仿对话中的语调和重读,提高他们的实际运用能力。还可以进行听力游戏,播放对话录音,让学生找出被重读的单词,进一步巩固他们对重读规则的...

    英语音节重读规则.pdf

    "英语音节重读规则" 英语音节重读规则是英语语言中一个非常重要的概念,它对英语词汇的读音和理解产生了深远的影响。英语音节重读规则的主要内容是关于英语词汇中重读音节和非重读音节的分布规律。 英语音节重读...

    消费行业四大行业消费趋势电·重读消费者.pdf

    由于提供的文件内容为乱码,并且文件标题为"消费行业四大行业消费趋势电·重读消费者.pdf",但无法从乱码内容中提取实际信息,我将基于文件的标题和描述来猜测内容,并生成相关知识点。 【标题】"消费行业四大行业...

    重读开音节PPT课件.pptx

    2. **双音节词**:由两个音节构成的单词,如china['tʃainə]、teacher ['ti:tʃə ]、apple['æpl]。双音节词至少有一个音节被重读。 3. **多音节词**:包含三个或以上音节的单词,如remember[ri'membə]、...

    重读旧书:基于内疚的快感?.pdf

    这些书籍的出现,似乎在暗示重读不仅仅是个人习惯,它还是一种文化现象,一种阅读的新趋势。 重读旧书,对于许多人来说,不仅仅是因为怀旧或者时间有限。它是一种深度阅读的方式,让人们有机会更深入地理解文本,...

Global site tag (gtag.js) - Google Analytics