4

基本的に、変数が設定されていない場合は、別の値に設定します。

より良い方法があるはずです、これはとても厄介に見えます。

        if ($image_src === undefined) {
                $image_src = $apple_icon;
            }

            if ($image_src === undefined) {
                $image_src = $apple_icon2;
            }

            if ($image_src === undefined) {
                $image_src = $item_prop_image;
            }

            if ($image_src === undefined) {
                $image_src = $image_first;
            }
4

4 に答える 4

10

JavaScriptでは、or||演算子を使用して、未定義のものを凝縮できます。したがって、これは有効です。

$image_src = $image_src || $apple_icon || $apple_icon1;
于 2012-11-07T22:14:51.953 に答える
4
$image_src = $image_src || $apple_icon;

http://billhiggins.us/blog/2007/02/13/the-javascript-logical-or-assignment-idiom/

于 2012-11-07T22:14:16.990 に答える
1

私のコメントを拡張します-変数の1つが宣言されていない可能性があるシナリオがある場合に備えて、次のようなことを行うことができます-読みにくいですが、より安全です:

$image_src = getWhateverTheInitialValueIsSupposedToBe();

$image_src = $image_src || (
    (typeof($apple_icon) !== "undefined" && $apple_icon) ? $apple_icon :
    (typeof($apple_icon2) !== "undefined" && $apple_icon2) ? $apple_icon2 :
    (typeof($item_prop_image) !== "undefined" && $item_prop_image) ? $item_prop_image :
    (typeof($image_first) !== "undefined" && $image_first) ? $image_first :
    $image_src);
于 2012-11-07T22:27:53.270 に答える
0

正直なところ、あなたの書き方はあなたがやりたいことをはっきりと示していると思います。

他の回答に示されている方法でコンパクトにすることもできますが、他のIMOよりも一見した方がわかりやすいと思います。

それはすべてあなたが望むものに依存します。この||方法はおそらくより効率的ですが、あなたの方法はかなり読みやすいです。

これを関数でラップするのは問題ありません。

于 2012-11-07T22:19:32.293 に答える