0

undefinedを使用して実行しようとすると、次の動的に生成された JavaScript が返されますeval()。ステートメントを削除するif/elseと返されますが、ステートメント0を使用しようとすると返されます。if/elseundefined

function doCalculation() {
    var OfferSupport=0;
    var DOOfferSupport=4;
    var SupportFull=SupportFull;
    var SupportNone=SupportNone;
    if(DOOfferSupport >= 1)
        OfferSupport = SupportFull ;
    else
        OfferSupport = SupportNone ;
    return OfferSupport;
}
console.log('test: ' +  doCalculation());

誰でも理由を教えてもらえますか?

4

2 に答える 2

2

あなたのコードを見てください:

var OfferSupport=0; 
var DOOfferSupport=4;
var SupportFull=SupportFull; 
var SupportNone=SupportNone;
if(DOOfferSupport >= 1) 
  OfferSupport = SupportFull ; 
else 
  OfferSupport = SupportNone ;

SupportFullしかし、 andを宣言したばかりでSupportNone、それに値を割り当てていません。

ECMAScriptの仕様を見てください

未定義の値

変数に値が割り当てられていない場合に使用されるプリミティブ値

于 2013-07-23T17:32:18.980 に答える