在JavaScript中,函数可以
◆ 被赋值给一个变量
◆ 被赋值为对象的属性
◆ 作为参数被传入别的函数
◆ 作为函数的结果被返回
赋值给一个变量:
1 2 3 4 5 6 7 8 |
|
这段代码会打印”5”,因为赋值之后,变量a引用函数add,也就是说,a的值是一个函数对象(一个可执行代码块),因此可以使用a(2, 3)这样的语句来进行求和操作。
赋值为对象的属性:
1 2 3 4 5 |
|
事实上,这个例子与上个例子的本质上是一样的,第一个例子中的a变量,事实上是全局对象(如果在客户端环境中,表示为window对象)的一个属性。而第二个例子则为obj对象,由于我们很少直接的引用全局对象,就分开来描述。
作为参数传递:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
运行此片段,可以得到这样的结果:
1 2 |
|
应该注意到,函数adPrint2的第二个参数,事实上是一个函数,将这个处理函数作为参数传入,在adPrint2的内部,仍然可以调用这个函数,这个特点在很多地方都是有用的,特别是,当我们想要处理一些对象,但是又不确定以何种形式来处理,则完全可以将“处理方式”作为一个抽象的粒度来进行包装(即函数)。
作为函数的返回值:
先来看一个最简单的例子:
1 2 3 4 5 |
|
函数currying返回一个匿名函数,这个匿名函数会打印”curring”,简单的调用currying()会得到下面的结果:
1 2 3 |
|
如果要调用currying返回的这个匿名函数,需要这样:
currying()();
第一个括号操作,表示调用currying本身,此时返回值为函数,第二个括号操作符调用这个返回值,则会得到这样的结果:
currying
Atas ialah kandungan terperinci javascript如何使用函数和返回值用法实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!