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中表示小于就要用到:< 来替换
3、CData片段:
CData片段是文档中的一个特殊的区域,他中的代码不会被浏览器进行解析,写法:
<script type="text/javascript"><! [CDATA{
function func(a,b){
xxxx
}
}]></script>
javascript 高级程序设计 二的更多相关文章
- JavaScript高级程序设计(二):在HTML中使用JavaScript
一.使用<script>元素 1.<script>元素定义了6个属性: async:可选.表示应该立即下载脚本,但不应该妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本 ...
- javascript 高级程序设计 十二
1.组合使用原型模式和构造函数模式: 由于原型模式创建对象也有它的局限性------有智慧的人就把原型模式和构造函数模式进行了组合. function Person(name, age, job){/ ...
- 《Javascript高级程序设计》阅读记录(二):第四章
这个系列之前文字地址:http://www.cnblogs.com/qixinbo/p/6984374.html 这个系列,我会把阅读<Javascript高级程序设计>之后,感觉讲的比较 ...
- 《JavaScript高级程序设计(第3版)》笔记-序
很少看书,不喜欢看书,主要是上学时总坐不住,没有多大定性,一本书可以两天看完,随便翻翻,也可以丢在角落里几个月不去动一下. 上次碰到了<JavaScript高级程序设计(第3版)>感觉真的 ...
- 读javascript高级程序设计08-引用类型之Global、Math、String
一.Global 所有在全局作用域定义的属性和方法,都属于Global对象. 1.URI编码: encodeURI():主要用于对整个URI编码.它不会对本身属于URI的特殊字符进行编码. encod ...
- JavaScript高级程序设计学习(三)之变量、作用域和内存问题
这次讲的主要是变量,作用域和内存问题. 任何一门编程语言,都涉及这三个. 变量,比如全局变量,局部变量等,作用域,也分全局作用域和方法作用域,内存问题,在java中就涉及到一个垃圾回收的问题,由于ja ...
- javascript 高级程序设计 一
前言: 作为一个即将毕业.正在实习的大学生,我也默默的进入了开发者的行列.从一开始的c#编码狗到java程序员再到现在的JS开发者,我一直 希望自己可以在这个'万恶'的互联网时代走的更远.但是我还是一 ...
- 《Javascript高级程序设计》阅读记录(七):第七章
<Javascript高级程序设计>中,2-7章中已经涵盖了大部分精华内容,所以摘录到博客中,方便随时回忆.本系列基本完成,之后的章节,可能看情况进行摘录. 这个系列以往文字地址: < ...
- 《Javascript高级程序设计》阅读记录(六):第六章 下
这个系列以往文字地址: <Javascript高级程序设计>阅读记录(一):第二.三章 <Javascript高级程序设计>阅读记录(二):第四章 <Javascript ...
随机推荐
- sudo su到root或到其它用户报这种错
一般不会出现这种情况,除非你进入的这个目录已经被删了.然后切换用户就找不到这个目录,所以报错. 这种情况下我们只要去到一个正常的目录就好了,比如:cd ~ 然后再切换,ok.
- JDBC的基本概念
英文名:Java DataBase Connectivity 中文名:数据库连接 作用: java操作数据库 本质上(sun公司的程序员)定义的一套操作关系型数据库的规则也就是接口,各数据库厂商实现接 ...
- unittest测试
标签(空格分隔): unittest unittest介绍: python里面也有单元测试框架-unittest,相当于是一个python版的junit. 一.unittest简介 1.先导入unit ...
- 下载excel
使用struts2的方式完成下载 对于下载excel2003,contentType如此设置 <result name="success" type="stream ...
- logic:iterate(转)
logic:iterate struts标签<logic:iterate>的用法 StrutsBeanJSPWeb脚本 <logic:iterate>主要用来处理在页面上输出 ...
- l2-22(重排链表)
题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805057860517888 题意:给定链表L1->L2- ...
- JS散度
https://blog.csdn.net/weixinhum/article/details/85227476
- Python+Selenium学习--鼠标事件
场景 前景讲解了鼠标的click()事件,而我们在实际的web产品测试中,有关鼠标的操作,不仅仅只有单击,有时候还包括右击,双击,拖动等操作,这些操作包含在ActionChains类中. Action ...
- jdbc java远程连接mysql数据库服务器
首先,需要注意以下几点: 1.手机需要获得可以访问网络的权限: 2.导入的jdbc驱动的版本需要与mysql服务器的版本相近: 3.mysql默认的访客是只允许本机(localhost),不允许其他主 ...
- 100-days: Two
Title: London HIV patient's remission spurs hope for curing AIDS HIV 艾滋病毒 human immunodeficiency vi ...