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言語では、このように見える場合があります。おそらく、それがあなたの誤解の原因です。)

あなたの2番目の呼び出しは、本質的に同等です

var test = sum(null, null);

2 つの null 値を連結すると、再び null になります。

于 2012-11-07T00:06:11.203 に答える