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 ...
随机推荐
- 吴裕雄 python深度学习与实践(5)
import numpy as np data = np.mat([[1,200,105,3,False], [2,165,80,2,False], [3,184.5,120,2,False], [4 ...
- 税控服务器 TC5002UpdatePackage 安装更新
Linux版税控服务器单税号版本税控应用: TC5002UpdatePackage2008160711.zip 单税号服务器(型号:TCG-01S1) Linux版税控服务器20个 ...
- 我的第一篇博客之js的XXXX年XX月XX日 星期[日一-六] [上下]午 XX时:XX分
<!DOCTYPE html> <html> <head> <title>test</title> ...
- zookeeper 常用cLi命令
官网:https://zookeeper.apache.org/doc/r3.4.8/zookeeperAdmin.html#sc_zkCommands stat path [watch] set p ...
- Centos6.5 防火墙设置详解
vim /etc/sysconfig/iptables #丢弃所有进入请求 INPUT DROP [0:0] #丢弃所有转发请求 FORWARD DROP [0:0] #允许所有的output请求 O ...
- response.sendfile() fails with Error: Forbidden
[response.sendfile() fails with Error: Forbidden] 参考:https://github.com/expressjs/express/issues/146 ...
- Multiple APK Support
[Multiple APK Support] Multiple APK support is a feature on Google Play that allows you to publish d ...
- MVC001之mvcpager简单分页
描述:用mvcpager实现简单分页功能 参考网址: http://www.cnblogs.com/iamlilinfeng/archive/2013/03/11/2951460.html http: ...
- Python图片识别找坐标(appium通过识别图片点击坐标)
***如果只想了解图片相似度识别,直接看第一步即可 ***如果想了解appium根据图片识别点击坐标,需要看第一.二.三步 背景|在做UI测试时,发现iOS自定义的UI控件,appium识别不到. ...
- Android Studio 插件-Android Styler 的使用 (转)
作用:把 xml文件 转为 style 截图保留 使用方法 使用方法:选中xml代码 按下 Ctrl+Shift+D 转自:http://blog.csdn.net/zxwd2015/article/ ...