29

JS 関数の呼び出し

alertStatement()

関数定義

function alertStatement(link) {
    if (link) {
        alert('A');     
    }

    if (link!=null) {
        alert('B');     
    }   
}

これらのステートメントは両方とも、Tomcat を使用した Windows Env で正常に機能していますが、実稼働環境 (Linux サーバー) では実行されません。変数を比較して機能させる他の方法はありますか?

次のJavaScriptコードを使用して動作させました。

function alertStatement(link) {
    if (link!==undefined){
        alert('A');     
    }
}

最後に undefined が機能しましたが、何らかの理由で null 比較が機能しませんでした

4

1 に答える 1

62

引数に使用可能な値があるかどうかを確認するには、引数が未定義かどうかを確認してください。これには 2 つの目的があります。何かが渡されたかどうかだけでなく、使用可能な値があるかどうかもチェックします。

function alertStatement(link) {
    if (link !== undefined) {
        // argument passed and not undefined
    } else {
        // argument not passed or undefined
    }
}

次のように typeof を使用することを好む人もいます。

function alertStatement(link) {
    if (typeof link !== "undefined") {
        // argument passed and not undefined
    } else {
        // argument not passed or undefined
    }
}

nullは特定の値です。 undefined渡さなければどうなるかです。

何かが渡されたかどうかを知りたいだけで、その値が何であるかは気にしない場合は、 を使用できますarguments.length

function alertStatement(link) {
    if (arguments.length) {
        // argument passed
    } else {
        // argument not passed
    }
}
于 2012-07-12T22:10:13.450 に答える