如何写一个函数multiple(5)(6)将返回30?

时间:2018-02-11 12:00:03

标签: javascript

我试图了解如何在JS中实现这样的功能,这种方法的主要用途是什么?

倍数(5)将返回5 multiple(5)(6)将返回30

我们如何在JavaScript中实现这样的功能?

1 个答案:

答案 0 :(得分:1)

您可以使用valueOf和返回功能的函数。 在此处:multiple(5)将返回5 multiple(5)(6)将返回30

function multiple(x){
    function func(y){
    return x*y
  }
  func.valueOf=function(){return x}
  return func
}

请参阅此JSFiddle:https://jsfiddle.net/k9meraL6/

alert(multiple(5)(6)) //30 
alert(multiple(5) + 1) //6

更多信息:

的valueOf

  

JavaScript调用valueOf方法将对象转换为原始值

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf