• 函数和属性的区别

任何函数只要作为方法调用 实际上都会传入一个隐形的实参—-这个实参是一个对象

在链式调用中 当不需要返回值时,最好直接返回this,可以不停的进行设置不同的属性;

嵌套函数中的this, 其this值不是全局对象(非严格模式)就是undefined(严格模式下)

构造函数调用

方法,或者函数在调用之前使用 new关键字, 就会先调用构造函数,
构造函数调用和 函数,方法 在实参,上下文和返回值方面都有不同

  • 构造函数在没有实参的时候,可以省略圆括号

简介调用

其中的两个方法call()和apply()可以用来间接地调用函数。两个方法都允许显式指定调用所需的this值,也就是说,任何函数可以作为任何对象的方法来调用,哪怕这个函数不是那个对象的方法。两个方法都可以指定调用的实参。

  • 函数中的 形参 arguments[] 是一个类数组对象

作为值的函数

function add(){}
var a.m = function(){}

闭包

// 全局变量
var scope=”global scope”;
function checkscope(){
var scope =”local scope”;
function f(){return scope;}return f;)
checkscope()()
// local scope

  • 函数作用域链,
  • 词法作用域

函数定义时的作用域链,到函数执行时依然有效,
在函数调用之后,函数内部的变量会销毁,
在函数内部,定义的函数,如果引用到了函数的变量,这时就会有一个外部引用指向这个嵌套的函数

函数的属性,方法,构造函数

类和对象

正则表达式

服务端javascript

浏览器端javaScript

Window对象

脚本话文档 15

脚本化CSS

事件处理 P454

脚本化HTTP P496