Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数的全局变量配置_Javascript_Function_Variables - Fatal编程技术网

Javascript 函数的全局变量配置

Javascript 函数的全局变量配置,javascript,function,variables,Javascript,Function,Variables,我目前正在学习一门JavaScript课程,并有以下任务: “设计一个JavaScript程序,要求用户输入两个数字,然后将这两个数字作为参数发送给四个算术函数:加法、乘法、除法和模……函数应将值返回给调用模块,并在其中显示。” 数函数 第一个号码: 第二个号码: 函数showInfo(){ //声明并获取变量 var firstNumber=parseFloat(document.Numbers.number1.value);//第一个数字 var secondNumber=par

我目前正在学习一门JavaScript课程,并有以下任务: “设计一个JavaScript程序,要求用户输入两个数字,然后将这两个数字作为参数发送给四个算术函数:加法、乘法、除法和模……函数应将值返回给调用模块,并在其中显示。”


数函数
第一个号码:


第二个号码:

函数showInfo(){ //声明并获取变量 var firstNumber=parseFloat(document.Numbers.number1.value);//第一个数字 var secondNumber=parseFloat(document.Numbers.number2.value);//第二个数字 //四个数学函数 函数add(num1,num2){ var sum=num1+“+”+num2+“=”+(num1+num2).toFixed(2)+“\n”; 回报金额; } 函数乘法(num1,num2){ var乘积=num1+“\u00d7”+num2+“=”+(num1*num2).toFixed(2)+“\n”; 退货产品; } 函数除法(num1,num2){ 风险值股息=num1+“/”+num2+“=”+(num1/num2).toFixed(2)+“\n”; 股息回报率; } 功能模量(num1,num2){ var盈余=num1+“%”+num2+“=”+(num1%num2).toFixed(2); 收益盈余; } var total=加(第一个数字,第二个数字)+乘(第一个数字,第二个数字)+除(第一个数字,第二个数字)+模(第一个数字,第二个数字); document.number.info.value=总计; //我需要这个函数来获得上述四个函数的结果,并将它们放在文本区域! }


我不确定我应该如何获得这四个函数的结果并显示结果,但我确实怀疑我的代码不起作用的许多原因是因为变量放置不正确。这是一门在线课程,教材太糟糕了!所以,如果你能给我指出正确的方向(或多个正确的方向),那就太好了。

这有很多问题

  • 首先,不应该在脚本的最顶端设置num1和num2。它们将从未设置开始,因此您应该在showInfo函数中检索它们
  • 您没有从函数返回任何内容,这是您应该返回的
  • 实际上,您并不是在showInfo中调用函数,而是将它们强制为字符串,从而看到奇怪的行为
  • 听起来您应该传入num1和num2,而不是依赖全局变量来访问它们。您需要传递它们,并让每个函数接受两个变量
  • 试试这样的小提琴:


    首先,要使用函数,需要调用它。有4种方法可以做到这一点,但在您的例子中,您可以使用
    ()
    调用它,所以它应该是
    add()+multiply()+divide()+modules()
    。其次,在您的例子中,您希望函数返回一个值,因此需要有一个
    return
    语句,如
    returnnum1++“++”+num2++“=”+(num1+num2).toFixed(2)。谢谢!我刚刚发布了我的更新代码。你能给我更多的建议吗?对这个问题不太好。如果我已经回答了你的问题,你能把我的回答标记为接受吗?
    
        <body>
            <h1>Number Functions</h1>
            <!-- FORM START -->
            <form name="Numbers">
            First number:
            <br/>
            <input type="number" name="number1"/>
            <br/>
            Second Number:
            <br/>
            <input type="number" name="number2"/>
            <p/>
            <input type="button" value="Submit" onclick="showInfo()"/>
            <p/>
            <textarea rows="8" colspan="150" name="info" readonly="true" value=""></textarea>
        </form>
    <script type="text/javascript">
    function showInfo() {
        // Declare and get variables
        var firstNumber = parseFloat(document.Numbers.number1.value); // first number
        var secondNumber = parseFloat(document.Numbers.number2.value); // second number
    
    
        // Four mathematical functions
        function add(num1, num2) { 
        var sum = num1 + " + " + num2 + " = " + (num1+num2).toFixed(2) + "\n";
        return sum;
        }
        function multiply(num1, num2) {
        var product = num1 + " \u00d7 " + num2 + " = " + (num1*num2).toFixed(2) + "\n";
        return product;
        }
        function divide(num1, num2) {
        var dividend = num1 + " / " + num2 + " = " + (num1/num2).toFixed(2) + "\n";
        return dividend;
        }
        function modulus(num1, num2) {
        var surplus = num1 + " % " + num2 + " = " + (num1%num2).toFixed(2);
        return surplus;
        }
    
        var total = add(firstNumber,secondNumber) + multiply(firstNumber,secondNumber) + divide(firstNumber,secondNumber) + modulus(firstNumber,secondNumber);
    
        document.Numbers.info.value = total;
        // I need this function to get the results from the four above and put them in the textarea!
        }
    
    </script>
    </body>
    
    // Four mathematical functions
    function add(num1, num2) {
      return num1 + " + " + num2 + " = " + (num1 + num2).toFixed(2);
    }
    
    function multiply(num1, num2) {
      return num1 + " \u00d7 " + num2 + " = " + (num1 * num2).toFixed(2);
    }
    
    function divide(num1, num2) {
      return num1 + " / " + num2 + " = " + (num1 / num2).toFixed(2);
    }
    
    function modulus(num1, num2) {
      return num1 + " % " + num2 + " = " + (num1 % num2).toFixed(2);
    }
    
    function showInfo() {
        // Declare and get variables
        var num1 = parseFloat(document.Numbers.number1.value); // first number
        var num2 = parseFloat(document.Numbers.number2.value); // second number
    
      document.Numbers.info.value = add(num1, num2) + multiply(num1, num2) + divide(num1, num2) + modulus(num1, num2);
    }