一、函数也是数据:
在 javascript 中,函数实际上也是一种数据。也就是说,我们可以把一个函数赋值给一个变量!
var f = function (){
return 1;
};上面这种定义的方式,通常被叫做 函数标识记法 。它有两个重要的特性:
- 它们所包含的是代码。
- 它们是可执行的(或者说是可调用的)
因此我们可以像变量那样使用函数--也就是说,我们可以将它拷贝给不同的变量。
var sum = function(a,b){
return a + b;
};
var add = sum;
//调用一下
typeof add //"function"
add(1,2); //3二、匿名函数:
正如上面第一个例子所知:
var f = function (){
return 1;
};通过这种方式定义的函数常被称为 匿名函数 (即没有名字的函数),特别是当它不被赋值给变量单独使用的时候。
在这种情况下,此类函数有两种优雅的用法:
- 你可以将匿名函数作为参数传递给其他函数,这样,接收方函数就能利用我们所传递的这个匿名函数来完成某些事情;
- 你可以定义某个匿名函数来执行某些一次性任务。
//来看个例子
var addNumber = function(num){
num += 1;
return num;
}
function f(num,callback){
return callback(num);
}
//调用一下
f(1,addNumber); //2
f(10,addNumber); //11是不是很眼熟?其实匿名函数最常用的一种方式就是在回调函数中的应用,下篇我们将根据几个回调函数的例子,来进一步了解匿名函数。
本文摘自《JavaScript面向对象编程指南》,分享的目的仅供个人学习和理解,如需转载请备注本文出处,谢谢!