第一章:JavaScript概述
1.动态的、弱类型编程语言。 语法模仿java,原型参考Self。
2.客户端javascript
做本章的demo哦! 必须做! 整理到webstrom中哦!
第二章:JavaScript语言核心:词法结构
1.区分大小写
2.标识符:字母、数字、下划线、$; 开头不能是数字。
第三章:JavaScript语言核心:类型、值、变量
1.数据类型: 原始类型(数字、字符串、布尔、null、undefined) 对象类型(对象、数组、函数)
原始类型的值是不变的(不可变的原始值)
a:数字,不区分整数值和浮点数值,所有数字都用浮点数值表示。
2.javascript的GC机制!
3. 转义字符
4. var s = "hello world";
s.charAt(0); // h
s.charAt(s.length -1); // d
s.substring(1,4); // ell 2~4
s.slice(-3); // rld 从后往前
s.indexOf("l"); // 2 字符“l”第一次出现的位置 lastIndexOf()正好相反哦!
s.split(","); // 将字符串分割为子串 ["hello","world"]
s.replace("h","H"); // Hello world 字符替换
5.模式匹配:正则表达式
6. 布尔: false:undefined、null、0、NaN、空字符串
7.null typeof null :object
undefined typeof undefined: undefined 所以 null ==== undefined 为false
8.数字、字符串、布尔值 都有包装对象。 按照java的来理解, 成为对象,就可以使用对象的方法和属性。
9.对象的比较: 引用的比较,当两个引用同一个对象的时候,它们才是相等的哦!
10.数据类型的转换。 原始类型和对象类型的转换。
11.变量提升 函数提升
第四章:JavaScript语言核心:表达式和运算符
1.算术运算符、比较运算符、逻辑运算符、赋值运算符、位运算符、逻辑运算符
位运算符:按位与、或、非、异或、左移、带符号右移
第五章: JavaScript语言核心: 语句
1.语句:条件、循环(while do while for for in)、跳转
2.声明提升:声明提升 初始化
3.严格模式
第六章: JavaScript语言核心: 对象
1.基于原型的继承
2.Javascript对象: 内置对象、宿主对象、自定义对象。
属性: 自有属性、继承属性。
3.类型:强类型 弱类型 无类型。
4.检测属性: in 包括继承属性 属性(自有属性和继承属性)
hasOwnProperty() 只有时对象的自有属性才返回true
propertyIsEnumerable()
!== 判断一个属性是否是undefined
5.对象的三个属性(原型属性、类属性、可扩展性属性)
a:对象的原型属性是用来继承属性的。
创建对象的方式: 1.对象直接量 2.new创建 3.Object.create
p.isPrototypeOf(o) 检测p是否是o的原型。
b:对象的类属性是一个字符串,表示对象的类型信息。
c:对象的可扩展性:是否可以给对象添加新属性,所有内置对象和自定义对象都是可扩展的。 宿主对象的可扩展性由js引擎定义。
6.序列化对象
对象序列化是指将对象的状态转换为字符串,也可以将字符串还原为对象。
JSON.stringify() JSON.parse() 用来序列化和还原Javascript对象。 (Josn是javascript的子集,你就记住了, javascrip object notation)
深拷贝和浅拷贝!
第七章: JavaScript语言核心:数组
1.javascript中数组是无类型的哦!
2.稀疏数组:索引不连续,包含从0开始的不连续的数组。
3.javascript数组没有越界一说!
4.join() reverse() sort() concat() slice()
第八章: JavaScript语言核心:函数
1.函数调用上下文 ——》 this
2.javascript中,函数即对象。
3.调用的4种方式: 函数调用 : 调用上下文this——》全局对象或nudefined(严格模式下)
方法调用:调用上下文——》当前方法所属的对象。
构造函数调用:
间接调用:call() apply()
4.javascript中this是一个关键字,不是变量,也不是属性名,javascript语法不允许给this赋值。
5.闭包
6.函数的属性、方法和构造函数
第九章: JavaScript语言核心:类和模块
1.javascript中,每一个对象都从原型继承属性。 Object.prototype获得原型对象的引用。
Object.prototype包含一个不可枚举属性constructor。 其值是一个函数对象。
2.自有属性和继承属性。
查询对象o的属性x,如果o中不存在x,那么将从对象o的原型对象中查询属性x。 如果此原型对象中没有,且此原型对象还有原型对象,就继续在此对象原型的原型
上继续找,直到找到或者原型为null为止。 对象的原型属性构成一条链,通过它可以实现属性的继承。
继承属性在原型对象上,自有属性在对象自身上,对象可以获取原型的属性,但设置属性只能在自身。自己设置了属性,就覆盖了原型属性,自己有了就不用继承原型
的属性了。
第十章: JavaScript语言核心:正则表达式 模式匹配
1.regular expression
第十一章:Javascript语言的核心:Javascript的子集和扩展
第十二章:Javascript语言的核心:服务器端JavaScript
第二部分 客户端Javascript
1.内置 宿主 自定义