简体   繁体   English

为什么该Javascript函数在被调用时返回“ Undefined”?

[英]Why does this Javascript function return “Undefined” when called?

I've written the following simple JavaScript code. 我已经编写了以下简单的JavaScript代码。 But whenever I run it, it displays "Undefined" as a result. 但是,每当我运行它时,结果就会显示“ Undefined”。

Following is the code: 以下是代码:

function naturalSum(num1,num2) {
    var sumValue = 0;
    for (i=0;i<1000;i++)
    {
        if (i%num1 === 0 || i%num2 === 0) {
            sumValue += i ;    
        }
    }
}
document.write(naturalSum(3,5));

I want to know why this is happening. 我想知道为什么会这样。 When I'm not enclosing the code within the function, the code's working fine. 当我不将代码包含在函数中时,代码可以正常工作。 Kindly help me on this. 请帮助我。

JavaScript functions return undefined by default, unless you explicitly return something. JavaScript函数默认情况下返回undefined,除非您明确返回。

So, if you want your function to return sumValue , you should add return sumValue; 因此,如果您希望函数返回sumValue ,则应添加return sumValue; as the function's last line: 作为函数的最后一行:

function naturalSum(num1,num2) {
    var sumValue = 0;
    for (i=0;i<1000;i++)
    {
        if (i%num1 === 0 || i%num2 === 0) {
            sumValue += i ;
        }
    }
    return sumValue;
}

@AmitJoki created a JSFiddle to demonstrate: @AmitJoki创建了一个JSFiddle来演示:

function naturalSum(num1,num2) 
{
    var sumValue = 0;
    for (i=0;i<1000;i++)
    {
        if (i%num1 === 0 || i%num2 === 0) 
        {
            sumValue += i ;
        }
    }
    //You forgot to return the value
    return sumValue;
}
document.write(naturalSum(3,5));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM