0

我有一个非常简单的东西,它不起作用。怎么了?根据我读过的教程,这应该输出4 ...

function sum(a,b) {
    var result = a + b;
    return result;
    }

sum(2,2);        
var test = sum();

alert(test); // shouldn't this return "4"?

链接到 JSFiddle

4

2 回答 2

2
function sum(a,b) {
    var result = a + b;
    return result;
}

var test = sum(2,2);

alert(test);
于 2012-11-07T00:05:56.623 回答
1

改变这个:

sum(2,2);        
var test = sum();

对此:

var test = sum(2,2);

第一个代码在技术上没有错,只是没有做你想做的事。您正在使用适当的值调用 sum 函数,但从未将其返回值设置为任何变量,因此它只会被丢弃。您似乎认为该值将“坚持”到函数上,但事实并非如此。(不过,一些 BASIC 语言可以使它看起来像这样。也许这就是您的误解的来源。)

你的第二个电话基本上相当于

var test = sum(null, null);

当你连接两个空值时,你再次得到空值。

于 2012-11-07T00:06:11.203 回答