使用新参数创建已制作功能的副本?

我有一个功能freq01(),当点击一个按钮时,我想function(new)创建一个freq01()带有新参数的功能副本。我不知道从哪里开始,或者JS是否可以从函数创建函数。

已创建所有变量。请指出我正确的方向......!

下面的代码是将选中的单选按钮值保存到数组中。

function freq01(){
  if (document.getElementById("w01").checked){
   incFreq = document.getElementById("w01").value;
  }
  else if (document.getElementById("f01").checked){
   incFreq = document.getElementById("f01").value;
  }
  else if (document.getElementById("m01").checked){
   incFreq = document.getElementById("m01").value;
  }}


哔哔one
浏览 436回答 2
2回答

至尊宝的传说

我不知道......如果JS可以从一个函数创建一个函数。要回答这部分问题,是的Javascript可以从函数创建一个函数。任何函数都可以返回另一个函数,执行此操作的典型方法是创建工厂函数,或使用函数currying来创建新函数:厂返回另一个函数的函数。由于Javascript闭包,您可以设置返回的函数可以看到的“私有”变量,但调用函数无法访问:function addTwoFactory() {  let a = 2;  return function(b) {    return a + b;  }}let f1 = addTwoFactory();let f2 = addTwoFactory();console.log(f1(3)); // 5console.log(f2(3)); // 5还可以创建可以创建不同种类方法的可配置工厂:function makeAdder(a) {  return function(b) {    return a + b;  }}let addTwo = adderFactory(2);let addThree = adderFactory(3);console.log(addTwo(3)); // 5console.log(addThree(3)); // 6哗众取宠函数currying是一个基本函数的想法,它带有几个参数,并且“烘入”其中一个参数,以便更容易重用:function adder(a, b) {  return a + b;}function makeAdder(a) {  return function(b) {    return adder(a, b);  }}let addTwo = makeAdder(2);console.log(addTwo(3)); // 5
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript