JavaScript语言精粹

第一章精华

第二章语法

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的灵感之源;

你可能感兴趣的:(JavaScript语言精粹)