1

答えがおそらく「ベストプラクティス」である、簡単でおそらく簡単な質問

カスタム テンプレート モバイル Safari Web アプリのチュートリアルに従っており、このコードの周りのビューを変更するために使用されます。

function btnSave_ClickHandler(event)
{
    var views = document.getElementById('stackLayout');
    var front = document.getElementById('mainScreen');
    if (views && views.object && front) {
        views.object.setCurrentView(front, true);
    }
}

私の質問は、if条件文についてです。このトリプレットは何を言っているのでしょうか? ビューを変更する前に、これらの各項目を確認する必要があるのはなぜですか? views.objectビュー変数がオブジェクトメソッドに応答するかどうかを確認するだけですか? 何でこれが大切ですか?

編集- これがこの質問の主なポイントであり、言語としての Javascriptifではなく、ループがどのように機能するかではなく、これら 3 つのことを具体的に確認する必要がある理由です。

存在する可能性があるシナリオviewsfront存在しないシナリオは何ですか?

私は通常、コードを冗長に書くことはありません。私のMySQLテーブルの名前が変更されていない場合UPDATE 'mytable' WHERE...は、はるかに冗長な(そして私の見解では冗長な)代わりに言うだけです

$mytable = "TheSQLTableName";
if ($mytable == an actual table && $mytable exists && entries can be updated){
    UPDATE $mytable;
}

一方、テーブルの名前 (または JS の例ではビューの名前) が「ハードコード」ではなく、代わりにユーザー入力または変更可能である場合、DashCode の例にあるようにコードを正しくすることができます。とにかく、これらの値が「うまくいかない」ことはありますか?

ありがとう!

4

1 に答える 1

1

if は、これらの 3 つのポインターをテストして、null でないことを確認します。null ポインターは 0 であり、false に変換されます。これらの 3 つのポインターのいずれかが 0 (null) の場合、それらを使用しようとしません。

Javascript で null ポインターを逆参照するとどうなるかはわかりませんが、これはエラーであり、例外が発生する可能性があります。if はその可能性を避けているだけです。

于 2010-02-18T22:21:59.947 に答える