精华部分:
一 函数是头等对象
函数是有词法作用域的闭包
二 基于原型继承的动态对象
对象无类别,可通过普通赋值给任何对象增加一个新成员元素.一个对象可以从另一个对象继承成员元素.
三 对象字面量和数组字面量
var myObj = {};
var myArray = [];
这对创建新的对象和数组是一种非常方便的表示法.
糟粕部分:
一 function语句对比函数表达式
//function语句
function foo(){
//do
};
//函数表达式,推荐写法
var foo = function(){
//do
};
//一个语句不能以函数表达式开头,解决办法是把函数表达式写成如下
//这种语法创建了匿名函数,没有函数名,但可以被赋值变量
(function(){
var foo = 10;
var bar = 2;
alert(foo * bar);
})();
//变量不在函数内部用var声明,而是作为参数从外部传值
(function(foo, bar){
alert(foo * bar);
})(10, 2);
//返回值可被赋给一个变量
var baz = (function(foo, bar){
return(foo * bar);
})(10, 2);