第一章精华
第二章语法
1.空白和注释
2.标识符
3.数字(64位浮点数,NaN,Infinity,Math)
4.字符串:16位,转义字符,length属性
5语句:false(false,null,undefined,空字符串,数字0数字NaN),其他的都为ture;
6.表达式:
7.字面量
8.函数
第三章对象
1.javascript的简单类型包括数字,字符串,布尔值,null值和undefined,其他所有的值都是对象。
2.一个对象字面量就是包围在一对花括号中的零个或多个名、值对;
3.检索:点号;更新:赋值;引用;原型;typeof;枚举;删除;减少全局变量污染;
第四章函数
1.编程就是将一组需求分解成一组函数与数据结构的技能;
2.在javascript中函数就是对象。
对象是名/值对的集合并拥有一个连到原型对象的隐藏连接。
对象字面量产生的对象连接到object.prototype
函数对象连接到function.prototype,每个函数在创建是附有两个隐藏属性:函数的上下文和实现函数行为的代码;每个函数对象在创建时也随带一个prototype属性,它的值是一个拥有constructor属性且值为该函数的对象;
3.函数字面量:function名字(参数){语句}
4.调用模式:方法调用模式(当一个函数被保存为对象的一个属性是,称它为一个方法,当一个方法被调用时,this被绑定到该对象),
函数调用模式(当一个函数并非一个对象的属性时,那么它被当作一个函数来调用,当函数以此模式调用时,this被绑定到全局对象),
构造器调用模式(如果在一个函数前面带上new来调用,那么将创建一个隐藏连接到该函数的prototype成员的新对象,同时this将会被绑定到那个新对象上),
apply调用模式(apply方法接受两个参数:一个是将被绑定给this的值,一个是一个参数数组)
5.参数:存在arguments中
6.返回值:如果没有指定返回值,则返回undefined,如果在函数以在前面加上new前缀的方式来调用,且返回值不是一个对象,则返回this;
7.异常
8.给类型增加方法
9.递归函数
10.作用域
11.闭包
12.回调
13.模块
14.级联;套用;记忆;
第五章继承
1.javascript是一门基于原型的语言,意味着对象直接从其他对象继承;
2.this.prototype={constructor:this};
3.一个新对象可以继承一个旧对象的属性;
第六章数组
1.数组字面量:var empty=[];
2.length,splice,
3.当属性名是小而连续的整数时,你应该使用数组,否则,使用对象;
第七章正则表达式
第八章方法
1.Array:
contact();
join();
pop();
push();
reverse();
shift();
slice();
sort();
splice();
unshift();
2.Function
apply();
3.Number
toExponential();
toFixed();
toPrecision();
toString();
4.Object
hasOwnProperty();
5.RegExp
exec();
test();
6.String
chatAt();
charCodeAt();
contact();
indexOf();
lastIndexOf();
localeCompare();
match();
replace();
search();
slice();
split();
substring();
toLocaleLowerCase();
toLocaleUpperCase();
toLowerCase();
toUpperCase();
fromCharCode();
第九章代码风格
第十章优美的特性
1.函数是头等对象:
在精简javascript中,函数是有词法作用域的闭包;
2.基于原型继承的动态对象:
对象是无类别的,我们可以通过普通的赋值给任何对象增加一个新成员元素,一个对象可以从另一个对象继承成员元素;
3.对象字面量和数组字面量:
这对创建新的对象和数组来说是一种非常方便的表示法javascript字面量是数据交换格式JSON的灵感之源;