这里我们直接进入主题:

  在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>

javascript 高级程序设计 二的更多相关文章

  1. JavaScript高级程序设计(二):在HTML中使用JavaScript

    一.使用<script>元素 1.<script>元素定义了6个属性: async:可选.表示应该立即下载脚本,但不应该妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本 ...

  2. javascript 高级程序设计 十二

    1.组合使用原型模式和构造函数模式: 由于原型模式创建对象也有它的局限性------有智慧的人就把原型模式和构造函数模式进行了组合. function Person(name, age, job){/ ...

  3. 《Javascript高级程序设计》阅读记录(二):第四章

    这个系列之前文字地址:http://www.cnblogs.com/qixinbo/p/6984374.html 这个系列,我会把阅读<Javascript高级程序设计>之后,感觉讲的比较 ...

  4. 《JavaScript高级程序设计(第3版)》笔记-序

    很少看书,不喜欢看书,主要是上学时总坐不住,没有多大定性,一本书可以两天看完,随便翻翻,也可以丢在角落里几个月不去动一下. 上次碰到了<JavaScript高级程序设计(第3版)>感觉真的 ...

  5. 读javascript高级程序设计08-引用类型之Global、Math、String

    一.Global 所有在全局作用域定义的属性和方法,都属于Global对象. 1.URI编码: encodeURI():主要用于对整个URI编码.它不会对本身属于URI的特殊字符进行编码. encod ...

  6. JavaScript高级程序设计学习(三)之变量、作用域和内存问题

    这次讲的主要是变量,作用域和内存问题. 任何一门编程语言,都涉及这三个. 变量,比如全局变量,局部变量等,作用域,也分全局作用域和方法作用域,内存问题,在java中就涉及到一个垃圾回收的问题,由于ja ...

  7. javascript 高级程序设计 一

    前言: 作为一个即将毕业.正在实习的大学生,我也默默的进入了开发者的行列.从一开始的c#编码狗到java程序员再到现在的JS开发者,我一直 希望自己可以在这个'万恶'的互联网时代走的更远.但是我还是一 ...

  8. 《Javascript高级程序设计》阅读记录(七):第七章

    <Javascript高级程序设计>中,2-7章中已经涵盖了大部分精华内容,所以摘录到博客中,方便随时回忆.本系列基本完成,之后的章节,可能看情况进行摘录. 这个系列以往文字地址: < ...

  9. 《Javascript高级程序设计》阅读记录(六):第六章 下

    这个系列以往文字地址: <Javascript高级程序设计>阅读记录(一):第二.三章 <Javascript高级程序设计>阅读记录(二):第四章 <Javascript ...

随机推荐

  1. mysql 数据库必备命令操作,入门练习一下

    mysql 数据库必备命令操作 show databases: 查看所有的数据库: create database jfedu: 创建名为jfedu数据库: use nihao: 进入jfedu数据库 ...

  2. struts原理图

    n the diagram, an initial request goes to the Servlet container (such as Jetty or Resin) which is pa ...

  3. 获取镜像tag

    # curl -k https://k8s.gcr.io/v2/fluentd-elasticsearch/tags/list|jq .tags % Total % Received % Xferd ...

  4. html+js自定义颜色选择器

    <!DOCTYPE html><html><head> <meta charset="utf-8"> <title>te ...

  5. wamp添加本地虚拟域名

    修改一下文件位置,引入文件 下面是配置文件添加配置指向目录 <VirtualHost *:80> ServerAdmin 979996962@qq.com DocumentRoot &qu ...

  6. The number of method references in a .dex file cannot exceed 64K.(转)

    前言 我一直都知道app里面的方法数是有限制的差不多64000,具体的就未曾考证了在遇到这个问题之前,一直以为这个一个多么遥远的距离其实并不是的,稍有不慎这个异常出来了当前并不是你真的有编写了64k的 ...

  7. HTML图片热区map area的用法(转)

    <area>标记主要用于图像地图,通过该标记可以在图像地图中设定作用区域(又称为热点),这样当用户的鼠标移到指定的作用区域点击时,会自动链接到预先设定好的页面.其基本语法结构如下: 1 & ...

  8. php打印错误报告

    //error handler functionfunction customError($errno, $errstr){ echo "<b>Error:</b> ...

  9. 【转】 UI自动化测试的关注点

    我发现了,大家极度关心自动化测试,尤其是UI自动化测试,虽然现在作为专项测试,离开这些越来越远了,但总能遥想以前,我总能想起自己做nokia的WindowsLive的ui自动化,做web的自动化测试, ...

  10. TOJ3216 我要4444

    传送门  http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=3216 时间限制(普通/Java) ...