【js学习1】JavaScript实现&JavaScript插入
来源:互联网 发布:网络直播用户规模 编辑:程序博客网 时间:2024/06/01 10:16
版权声明:本文为博主原创文章,未经博主允许不得转载。
目录(?)[-]
- JavaScript实现
- ECMAScript
- DOM
- BOM
- JavaScript插入
- script标签
- 插入位置
- noscript标签
JavaScript实现
javascript与ECMAScript是不同的,一个完整的javascript应该由三部分组成:
- 核心(ECMAScrpit)
- 文档对象模型(DOM)
- 浏览器对象模型(BOM)
ECMAScript
ECMAScript是JavaScript的核心,但它并不依赖JS或浏览器而存在。JS实现了ECMAScript,Adobe Flash也实现了ECMAScript。浏览器是ECMAScript的众多宿主环境之一,Node,Flash都是他的宿主环境。宿主环境不仅实现了ECMAScript,还提供了相应功能的拓展。比如JS就提供了DOM。
现在ECMAScript已经发展到了7,要继续学习~~~
DOM
最初的DOM1级由两个部分组成:DOM Core和DOM HTML。DOM Core规定了如何映射基于XML的文档结构,以便简化对文档中任意部分的访问操作。DOM HTML则增加了针对HTML的对象和方法。HTML是基于XML的标记语言。与XML不同的是,HTML的标签都是固定的,且同时担任着显示数据的任务。XML的数据标签是不定的,且不负责显示。还有些其他的语言也基于标记语言:SVG,MathML等。
DOM2添加了一些新的模块:
- DOM Views:定义了跟踪不同文档视图的接口
- DOM Events:定义了事件和处理事件的接口(现在JS最重要的特点就基于此)
- DOM Style:基于CSS为元素应用样式的接口
- DOM Traversal and Range:定义了便利和操作文档树的接口
DOM3添加了新的模块: - DOM Load and Save:统一的加载和保存文档的方式
- DOM Validation:验证文档
DOM3还对DOM Core做了拓展,支持XML 1.0
BOM
BOM只处理与浏览器有关的部分,包括一些扩展:弹出新窗口,窗口分辨率的等,JS中常用的window对象就是BOM的一部分。
JavaScript插入
script标签
我们通过script标签来将JS代码或文件插入HTML,它有这么几个有用的属性:
- async:立即异步加载脚本文件,执行的顺序自然就不得而知了
- defer:立即下载,但脚本延迟到文档被完全解析和显示后再执行,即遇到/html标签。需要注意的是,内部script标签不支持这个属性。在文档中有多个含有defer属性的script标签时,按理说应该是按照出现的先后顺序执行,且都先于DOMContentLoaded事件执行。但是事实并不总是这么理想。使用时要注意。
- src:外部脚本地址
- type:出于种种原因,大家还是使用text/javascript
插入位置
浏览器会按顺序依次解析执行script标签,在一个script中的标签解析玩之前是不会解析下一个的,这就令引用的顺序非常重要。一般所有的引用会放在head标签中,但是这会导致在所有script文件加载完之后才会开始显示body标签里的元素。现代Web应用的做法都是放在body结束之前。
noscript标签
这个标签中的元素会在浏览器不支持脚本或脚本被禁用时显示,可用于显示一个提示用的p标签之类的。其他情况下这里的元素被忽略。
- 【js学习1】JavaScript实现&JavaScript插入
- JavaScript实现插入排序
- JavaScript了解,js的插入
- JavaScript学习1-JS简介
- 学习笔记:插入排序的C++、JavaScript、Java实现
- js javascript 实现多线程
- 【JavaScript】JS实现HashMap
- [JS基础]JavaScript精简学习1:基础知识
- JS学习(1)-JavaScript in HTML
- JavaScript学习总结【1】初识JS
- JavaScript学习总结【1】、初识JS
- JS学习笔记1-JavaScript 输出
- JavaScript学习笔记10--用js实现的拼图游戏
- js,javascript实现base64加密
- [JavaScript] 2.JS 实现&输出
- 【JavaScript】js实现图片翻转
- 【JavaScript】JS+DOM实现图片库
- javascript 基础 js实现placeholder
- jsp trimDirectiveWhitespaces ="true"(删除空白行)
- C++中类型转换—static_cast,dynamic_cast,const_cast
- 用GDB调试程序(二)
- hdu1599+floyd最小环
- hashset原理
- 【js学习1】JavaScript实现&JavaScript插入
- uva 11549
- vs中service reference访问java cxf 发布的需要usernametoken的服务
- ArrayList 源码解析
- HDOJ1753 大浮点数相加
- java垃圾回收机制
- Mysql的查询模型
- MySQL- SHOW TABLE STATUS命令
- 实现Android应用自动检查更新并且下载