JavaScript 帮助(对于初学者来说非常简单)

JavaScript Help(It's pretty simple im a beginner)

本文关键字:非常 简单 初学者 帮助 JavaScript      更新时间:2024-05-13
function mathProb() {
    var x = parseInt(prompt("Enter first integer", ""));
    var y = parseInt(prompt("Enter the second integer", ""));
    var operand = prompt("Enter type of operation", "");
    if (operand == "+" || "add") {
        var sum = x + y;
        document.write("Your sum is " + sum);
    } else if (operand == "-") {
        var difference = x - y;
        document.write("Your difference is " + difference);
    } else if (operand == "*") {
        var product = x * y;
        document.write("Your product is " + product);
    } else if (operand == "/") {
        var quotient = x / y;
        document.write("Your quotient is " + quotient);
    } else {
        document.write("Oops something went wrong");
    }
}

好吧,首先,我正在阅读一本关于 JavaScript 的书并且一直做得很好,我现在在函数上并且一直在获得这些函数,直到引入参数,有人可以以一种清晰简单的方式解释参数是什么吗?

为什么这个函数在命名为 function mathProb()function mathProb(x,y,operand) 时有效?

前一个问题的第三个问题是为什么当我在 html 中调用函数时( <input type="button" value="Calculator" onclick="mathProb()"/> (我必须使用mathProb(),即使它被命名为mathProb(x,y,operand).如果我使用该名称调用它,它将不起作用。请帮忙?

首先,行:

if(operand=="+"||"add")

将始终为 true,因为表达式 "add" 将始终返回一个 true-ish 值。 您可能打算使用:

if(operand=="+" || operand=="add")

您关于参数的问题可能是一个相当广泛的话题。 基本上,参数是赋予函数的变量,以便函数可以泛化以处理任何数据。 例如,如果要编写一个可以添加两个数字的函数,则该函数必须知道要添加两个数字。 这些数字将作为参数提供:

function add(x, y)
{
   return x + y; // x and y are variables known within this function
}

然后,您可以按如下方式调用函数:

var oneplusone = add(1, 1); // Adds 1 and 1

利用这些知识,您可以按如下方式重写代码:

function mathProb(x, y, operand)
{
   // No need for var x, etc as these can now be passed in..
}

然后调用你的函数:

mathProb(
   parseInt(prompt("Enter first integer","")), // This is x
   parseInt(prompt("Enter the second integer","")), // This is y
   prompt("Enter type of operation","") // This is operand
);

请记住,您仍然可以在没有参数的情况下调用函数mathProb

mathProb();

。如果你真的想。 JavaScript 确实允许这样做(与许多其他语言不同(。 但是,在您的函数中,变量 xyoperand 将是未定义的,如果您不考虑这一点,可能会导致意外结果。

你需要像mathProb(1,2,'+')这样的调用和传递函数

.HTML:

 <input type="button" value="Calculator" onclick="mathProb(1,2,'+')"/>

Javacript:

function mathProb(x,y,operand)
{
    //var x = parseInt(prompt("Enter first integer",""));
    //var y = parseInt(prompt("Enter the second integer",""));
    //var operand = prompt("Enter type of operation","");
    if(operand=="+"|| operand=="add")
    {
        var sum = x+y;
        document.write("Your sum is " +sum);
    }
    else if(operand=="-")
    {
        var difference = x-y;
        document.write("Your difference is " +difference);
    }
    else if(operand=="*")
    {
        var product = x*y;
        document.write("Your product is " +product);
    }
    else if(operand=="/")
    {
        var quotient = x/y;
        document.write("Your quotient is " +quotient);
    }
    else
    {
        document.write("Oops something went wrong");
    }
}