JS函数具有极大的灵活性和极强的表现力。
1.可以用为运算元参与表达式运算:
var a = 16+(function(){ return 5;})();
alert(a); //返回值21
2.可以作为一个值储存在变量中
var a=function(){ return 5;}
alert(a());
3.可以作为其它函数的参数,传入函数
function f(a){
a.call(null); //call方法,JS手册释义为: 调用一个对象的一个方法,以另一个对象替换当前对象。
}
f(function(){
alert("这是什么?");
})
4.可以作为其它函数的返回值。传出函数
var i = 1;
function f(){
alert(i++);
return arguments.callee; //返回函数自身 arguments.callee
}
f()()()()()(); //连续调用函数6次,则弹出6次函数提示框
5.可以在运行时构造对象
function f(name){ //使用函数创建类
this.name = name;
this.saying = function(){
alert(this.name);
}
}
var a=new f("cancan"); //创建对象实例
a.saying(); //返回字符串cancan
来自朱印宏老师的《javascript征途》一书