php中的js函数返回值吗,javascript如何使用函数和返回值用法实例详解

在JavaScript中,函数可以

◆ 被赋值给一个变量

◆ 被赋值为对象的属性

◆ 作为参数被传入别的函数

◆ 作为函数的结果被返回

赋值给一个变量://声明一个函数,接受两个参数,返回其和

function add(x, y){

return x + y;

}

var a = 0;

a = add;//将函数赋值给一个变量

var b = a(2, 3);//调用这个新的函数a

print(b);

这段代码会打印”5”,因为赋值之后,变量a引用函数add,也就是说,a的值是一个函数对象(一个可执行代码块),因此可以使用a(2, 3)这样的语句来进行求和操作。

赋值为对象的属性:var obj = {

id : "obj1"

}

obj.func = add;//赋值为obj对象的属性

obj.func(2, 3);//返回5

事实上,这个例子与上个例子的本质上是一样的,第一个例子中的a变量,事实上是全局对象(如果在客户端环境中,表示为window对象)的一个属性。而第二个例子则为obj对象,由于我们很少直接的引用全局对象,就分开来描述。

作为参数传递://高级打印函数的第二个版本

function adPrint2(str, handler){

print(handler(str));

}

/将字符串转换为大写形式,并返回

function up(str){

return str.toUpperCase();

}

//将字符串转换为小写形式,并返回

function low(str){

return str.toLowerCase();

}

adPrint2("Hello, world", up);

adPrint2("Hello, world", low);

运行此片段,可以得到这样的结果:HELLO, WORLD

hello, world

应该注意到,函数adPrint2的第二个参数,事实上是一个函数,将这个处理函数作为参数传入,在adPrint2的内部,仍然可以调用这个函数,这个特点在很多地方都是有用的,特别是,当我们想要处理一些对象,但是又不确定以何种形式来处理,则完全可以将“处理方式”作为一个抽象的粒度来进行包装(即函数)。

作为函数的返回值:

先来看一个最简单的例子:function currying(){

return function(){

print("curring");

}

}

函数currying返回一个匿名函数,这个匿名函数会打印”curring”,简单的调用currying()会得到下面的结果:function (){

print("curring");

}

如果要调用currying返回的这个匿名函数,需要这样:

currying()();

第一个括号操作,表示调用currying本身,此时返回值为函数,第二个括号操作符调用这个返回值,则会得到这样的结果:

currying

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值