试图将参数从一个函数传递给另一个函数

时间:2018-04-16 15:06:03

标签: javascript



<form>
  <select id="QuantityList">	
      <option value="0">0 </option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
    </select>
</form>

<br>
<button type="button" onclick="myFunction()">Try it</button>
<td>
  <p id="demo"> </p>
</td>
&#13;
{{1}}
&#13;
&#13;
&#13;

知道通常不可能从单个JS函数返回两个值,我想我会使用一个函数来执行一个任务,然后将该函数的值传递给代码中的另一个函数。

我希望能够找到从下拉菜单中选择的项目数,并尝试在myFunction函数中执行此操作。

然后我尝试将myFunction函数的值传递给myFunction2函数....但是我的输出为零......

2 个答案:

答案 0 :(得分:0)

通过创建具有属性的对象,您可以轻松地一次返回两个(或更多)值:

&#13;
&#13;
function fn() {
  var x = { value1 : "v1", value2 : "v2" };
  return x;
}

var result = fn();

console.log(result.value1);
console.log(result.value2);
&#13;
&#13;
&#13;

答案 1 :(得分:0)

尽管我评论需要掌握编程的基础知识,但我会在下面给你一个解决方案来推动你。您需要确保掌握一些基础知识,例如如何传递值,如何调试程序等。

您的代码存在一些问题

  1. 你的方法名称很糟糕 - 方法名称应描述它们正在做什么。
  2. 你永远不会实际调用myFunction2,因此你永远不会传递a的值(这不会因为你命名另一个(私有)变量a而自动发生)
  3. 见下文:

    &#13;
    &#13;
    function getQualtityValue() {
      var a = document.getElementById("QuantityList").value;
      return a;
    }
    
    function executeDemo(a) {
      var b = a * 4.99;
      document.getElementById("demo").innerHTML = b;
      return b; // theres no need to return this. It does no harm so I left it.
    }
    &#13;
    <form>
      <select id="QuantityList">	
          <option value="0">0 </option>
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
          <option value="5">5</option>
        </select>
    </form>
    
    <br>
    <button type="button" onclick="executeDemo(getQualtityValue())">Try it</button>
    <td>
      <p id="demo"> </p>
    </td>
    &#13;
    &#13;
    &#13;