四: 函数
函数定义方式: 函数声明 函数表达式 new Function var fn = new Function('a', 'b', 'console.log(a+b)' ); fn(3,4) ; //5函数声明和函数表达式的区别:a.函数表达式相当于给变量赋值, 预解析中只有函数名提前
b.函数声明 整个函数都会提升,声明前后都可以调用
c.使用函数表达式解决 if判断中函数的提升造成的错乱
var f:
If(true){
f = function(){};
}else {
f=function(){};
}
3. 函数的不同调用方式种this的指向:
调用方式
This指向
普通函数
Window
构造函数
Window/实例对象
对象方法调用
所属对象
事件绑定
绑定事件对象
定时器
Window
三种改变函数中this指向的方法:
Call’
fn.call(this, name,age)
立即调用
Apply
fn.apply(this,[name,age])
立即调用
Bind
Var newFn = fn.bind(this, age,name)
不调用,返回新函数
4. 函数的其他成员
Function fn(a,b,c){ console.log(fn.length); --形参个数
Console.log(arguments.callee); -- fn本身
Console.log(fn.caller); --调用者
Console.log(fn.arguments); --实参合集
Console.log(fn,name); --函数名
}
fn(10, “zs”, 30);
转载于:https://www.cnblogs.com/noraZhang/p/10108357.html