function作为参数
JavaScript语言中有个特殊的语法,就是可以将一个function作为方法的参数进行传递,类似于C和C++中的函数指针,也类似于C#中的委托。
function test(a,b,fn){
fn(a,b);
};
test(1,2,function(a,b){
alert(a + b); //3
});
上述例子中我们可以看出来,我们将一个方法作为参数传递给了test的fn,并且在test中被执行。如果我们写成test(1,2,3)就会报错了,因为fn(a,b)这种特殊的写法,要求fn必须是一个方法,所以我们往往在执行fn前加上一个判断
function test(a,b,fn){
if(typeof(fn) == "function"){
fn(a,b);
}
}
这个重要的特征将作为实现事件的主要手段