• javascript 高级程序设计 二


    这里我们直接进入主题:

      在JS刚刚开始的时候,必须面临一个问题,那就是如何使的JS的加载和执行不会影响web核心语言HTML的展示效果,和HTML和谐共存。

    在这个背景下<script>标签出现了,直到现在已经被正式纳入HTML规范当中,所以我们今天就开始聊一聊<script>.。

    1、<script>标签其他属性

      asyc:可选,表示立即下载script文件,但不妨碍页面的其他操作,但是它并不保证浏览器按照所写的<script>标签的顺序进行一个个的加载

      defer:表示脚本执行时并不影响页面的构造,也就是在JS脚本下载完成到JS脚本被解析器解析完成这段时间,被放到了整个页面都解析完毕

    以后来执行解析JS的操作,并且解析的时候是按照所写的<script>标签的顺序进行一个个的加载。但是这些在HTML5会忽略给嵌入JS脚本的defer

    属性,所以还是建议按照Yahoo!前端手册中规定的,把JS脚本放到文档的最后,也就是</body>之前

      type:使用的脚本语言的内容的类型(MIME类型),不写的时候默认是test/javascript,

      src:包含要执行代码的外部文件,这个属性的值是可以跨域来进行加载解析文件,和<img>的src一样,如下

      <script src="http://www.somewhere.com/init.js"></script>

    2、XHTML中的应用

      xhtml:可扩展的超文本标记语言,要想使用XHTML模式,必须把页面的MIME类型指定为"application/xhtml+xml",

      在html中如果<script>标签中又包含了一个</script>字符串,那么html就会认为JS脚本已经结束所以会产生一个错误用一下代码来替换:

      <script type="text/javascript">

        alert("</script>");

      </script>来替换alert("</script>");

      而在xhtml中的script标签都是自闭标签,写成上面的格式则被忽略。所以在XHTML中<是有特殊的含义,在XHTML中表示小于就要用到:&lt; 来替换

    3、CData片段:

      CData片段是文档中的一个特殊的区域,他中的代码不会被浏览器进行解析,写法:

      <script type="text/javascript"><! [CDATA{

        function func(a,b){

          xxxx

        }

      }]></script>

  • 相关阅读:
    设计模式之命令模式
    设计模式之享元模式
    设计模式之建造者模式
    设计模式之策略模式
    设计模式之责任链模式
    maven打包三种方式
    java native:Java本地方法调用(jni方式)
    数据库五大约束使用方法
    数据库连接池的配置方式(阿里,日本)
    tomcat数据库连接池的几种配置方法
  • 原文地址:https://www.cnblogs.com/wang985850293/p/5234766.html
Copyright © 2020-2023  润新知