函数的定义:
1.function 函数名(){}
2.var 函数名 = function(){}
3.var 函数名 = new Function();
函数的调用:
1.函数名();
2.对象.方法名();
3.new 函数名();
4.(函数体)(); —— 立即执行函数
函数中的this指向:
1.在类的constructor中,this指向类创建的实例;
2.在类的公用方法中,this指向调用该方法的实例;(当前类的实例和当前类的子类的实例可以调用公共方法)
3.在事件处理函数中,this指向事件源;
4.在独立的函数中,this指向window对象;
5.在对象的方法中,this指向该对象;
6.在定时器中,this指向window;
7.在构造函数中,this指向构造函数创建出来的实例;
8.在构造函数的原型对象的方法中,this指向调用该方法的实例;
递归
概念:递归就是函数在内部自己调用自己;
由于递归很容易发生“栈溢出”错误(stack overflow),所以必须要加退出条件 return。
递归的两个条件:
1.在函数内部调用自己;
2.添加退出条件 return;