《javascript高级程序设计》学习笔记

228 阅读3分钟

第一章:

1.javascript起源于1995,用于做输入表单验证。

2.ECMAScript是javascript的一种语法标准。

3.javascript 包括 ECMAScript、DOM 、BOM

4.ECMA 规定 语法,类型,语句,关键字,保留字,操作符,对象。JavaScript实现了ECMAScript.

5.2009年ECMA-262 发布第5版,ES5.

6.DOM:文档对象模型

7.DOM1级:映射文档结构。

8.DOM2级:DOM视图,DOM事件,DOM 样式,DOM遍历和范围。

9.DOM3级:扩展DOM.

10.BOM:浏览器对象模型。

第一章小结:

javaScript是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成:

ECMAScript:由ECMA-262定义,提供核心语言功能;

文档对象模型(DOM),提供访问和操作网页内容的方法和接口;

浏览器对象模型(BOM),提供与浏览器交互的方法和接口。

第二章:
1. <script > defer:可选,表示脚本可延迟到文档完全被解析和显示之后再执行。

2.<script>应该尽量放到body的底部,而不影响主要内容的显示。

3.<script> async:不保证按顺序加载脚本

第三章:

1.语法,区分大小写,标识符:第一个字符必须是一个字母、下划线或美元符号

2.严格模式“use strict”

3. 数据类型:Undefined,Null,Boolean,Number ,String,Object

4. == === != !===

第四章:

1.引用类型的对象是在内存中,不能直接访问。因为是通过引用来访问。

2.函数的参数是按值传递的。

3.没有块级作用域

4.垃圾回收:1)标记清除。2)引用计数。

第五章:

1.创建对象的两种方式 1)new Object() 2) 使用对象字面量{}

2.检测数组: value instanceof Array

3. Array 方法:join push shift unshift pop reverse sort(compare) concat slice splice indexOf

4.Array迭代方法:every filter forEach map some 

5 .Array 缩小方法: reduce reduceRight

6. call apply

第六章:面向对象的程序设计

1.数据属性

[[Configurable]]:表示能否通过delete删除属性从而重新定义属性。default:true

[[Enumerable]]:表示能否通过for-in返回属性。default:true

[[Writable]]:表示能否修改属性值。default:true

[[value]]:读取或者写入的值。default:true

2.创建对象

2.1 工厂模式 createPerson(name,age)

2.2构造函数模式 function Person(name,age){}  ;  new Person()

new 经历4个步骤

1)创建一个新对象

2)将构造函数的作用域给新对象

3)执行构造函数中的代码

4)返回新对象

3.原型模式

person1.[[Prototype]](__proto__) === Person.Prototype

4.继承 原型链

SubType.prototype = new SuperType

5. 借用构造函数

function SubType() {
SuperType.call(this) }

6.组合继承,原型继承,寄生式继承

第七章:函数表达式

1. arguments.callee

2.闭包

第八章:BOM

1.window,top,window.open,parent

2.系统对话框:alert confirm prompt

3.location: hash host hostname href pathname prot protocol search

4.navigator

5.screen

6.history

第九章:客户端检测

第十章:DOM

1.DOM1级定义了一个NODE接口

2. someNode.nodeName , someNode.childNodes[0],someNode.childNodes.item(1),appendChild,inserBefore,replaceChild,removeChild,cloneNode

3.document.title,document.referrer,document.domain,document.getElementById

 第十一章:DOM扩展

1.querySelector,querySelectorAll,matchesSelector

第十二章:DOM2,DOM3

1.DOM Level 2 Core,DOM Level2 views,DOM Level2 Events,DOM Level2 Style,DOM Level2 Traversal and Range,DOM Level2 HTML,

2. document.implementation.hasFeature('Core',"2.0")

第十三章:事件

1.IE :事件冒泡:DIV -> BODY ->HTML -> DOCUMENT,NETSCAPE COMMUNICATOR:事件捕获:DOCUMENT->HTML->BODY->DIV。

2:DOM0 级事件:btn.onclick. dom2级事件:btn.addEventListener('click',function(){},false,true) false:冒泡,true:捕获。removeEventListener。addEventListener添加 的匿名函数无法移除。

3.attachEvent,detachEvent.  preventDefault,stopPropagation

4.contextmenu

5.事件委托

6.模拟事件

第十四章:表单脚本

1.form

第十五章:使用canvas 绘图

第十六章:HTML5脚本编程

postMessage

EventUtil

dragstart drag dragend

第十七章:错误处理与调试

try catch

window.onerror

第十八章:javascript 与XML

第十九章:E4X

第二十章:JSON

第二十一章:ajax ,comet

第二十三章:应用缓存

navigator.onLine