JavaScript高级程序设计(第3版)笔记(一)
来源:互联网 发布:歌曲在这网络里认识你 编辑:程序博客网 时间:2024/05/01 14:44
一.javaScript是一种专用于网页交互而设计的一种脚本语言,主要由三部分组成:
(1)ECMAScript:由ECMA-262定义,提供javaScript的核心功能(2)DOM(文档对象模型):提供用于访问和操作网页的方法和接口,无需刷新网页,就可以修改外观和内容
DOM1:主要有核心DOM和HTML DOM构成。DOM2增加了对css的支持,遍历和操作文档树的接口
*IE8几乎支持DOM1,IE9+向上支持;Firefox3完全支持DOM1,几乎支持DOM2,chorme1+支持DOM1*
(3)BOM(浏览器对象模型):提供与浏览器交互的方法和接口
浏览器只是ECMAScript的一种宿主环境之一,还有node、Adobe Flash
二.<script>
1属性:(1)defer:(可选),立即下载,延迟执行。在页面完全显示之后才执行文件,只适用于外部文件,
会按照指定顺序去执行(如引用两个外部文件,都带有defer属性)
(2)async:(可选),立即下载,异步执行,不阻塞页面的加载,只适用于外部文件,不保证按顺序执行
注:建议异步脚本,不要在加载期间修改DOM,一定未在页面load事件前执行
(3)src:(可选),引入外部文件的地址
(4)charset:(可选),很少用,用于指定src中代码的字符集
(5)type:(可选),指定脚本的内容类型,代替language属性
(6)language:已废弃的属性
2. <script>嵌入内部代码时,在代码中不能出现</script>标签,若存在,用分隔符进行分割,如<\/script>
3. <script>可引用外部脚本,可嵌入内容代码,同时嵌入内部代码和外部脚本,会忽略内部代码,而执行外部脚本
4. <script>最好使用在</body>标签之前,这样不影响html的加载
5. <nosrcipt>当浏览器不支持script标签时<noscript>标签中的内容将显示,如果支持<script>,则显示
6. <script> 标签中的内容,不显示<noscript>中的内容
7. 文档模式分为标准模式和混杂模式
8. 嵌入代码与外部文件比:外部文件更好(1)适应未来,既适用于html也适用于xhtml
(2)方便维护,在不用动html就可以进行修改
(3)可缓存,两个页面同时引用一个js,只需下载一次,
第二个页面可以通过缓存获取,加快页面加载速度
疑问:1.混杂模式与标准模式的区别
由于最开始各大浏览器厂商都有自己的标准,之后为了统一管理代码,指定了统一的标准。这个统一的标准就 是标准模式。浏览器会根据模式的不同,采取不同渲染方式。不同的渲染方式会使不同浏览器解析css代码和 javaScript脚本受到影响。除了标准模式以外都是混杂模式(怪异模式),混杂模式并不可取,现在主流浏览器 一般都是标准模式,既能节省代码,又能向前兼容
DOCTYPE一般声明在html标签之前,标准模式为<!DOCTYPE html>
document.compatMode == "CSS1Compat" ? "当前处于标准模式" : "当前处于混杂模式"
- JavaScript高级程序设计(第3版)笔记(一)
- 《JavaScript高级程序设计(第3版)》读书笔记(一)
- JavaScript高级程序设计(第3版)笔记(二)
- JavaScript高级程序设计(第3版)笔记(三)
- JavaScript高级程序设计(第3版)笔记(四)
- JavaScript高级程序设计(第3版)笔记(五)
- 1.1 JavaScript高级程序设计(第3版) 笔记---对象
- 《javascript高级程序设计(第3版)》阅读笔记
- 《JavaScript高级程序设计(第3版)》知识点笔记1
- 《JavaScript高级程序设计(第3版)》知识点笔记2
- javascript 高级程序设计笔记(一)
- javascript高级程序设计笔记(一)
- JavaScript高级程序设计学习笔记(一)
- JavaScript高级程序设计(笔记一)
- javascript高级程序设计--学习笔记3 (第5章)
- JavaScript高级程序设计(第3版)阅读笔记第01天-js简介
- JavaScript高级程序设计(第3版)阅读笔记第02天-js基本概念
- JavaScript高级程序设计(第3版)阅读笔记第03天-ajax和Comet
- github搭建博客与Jekyll环境设置
- MFC中afx_msg
- session和cookie
- 对指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针的理解
- 使用ZRender画贝塞尔曲线
- JavaScript高级程序设计(第3版)笔记(一)
- Hadoop/MapReduce 好友推荐解决方案
- 05_Spring的bean管理_注解和配置文件混合使用
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path解决方法
- C++ 引用 vs 指针
- 刘明春总结2011.11.16 连续第十八天
- openssl交叉编译
- Tree Cutting (树形dp+树的重心变形)
- MySQL索引背后的数据结构及算法原理