1

yui ライブラリのサンプル コードには、次の表記があります。

var obj = document.getElementById("coffee_msg");
obj.style.display = 'block';

obj は 1 回しか使用されないため、むしろ次のようにします。

document.getElementById("coffee_msg").style.display = 'block';

yui ライブラリーや他の多くの場所で最初の表記法が使用されているのには何か理由がありますか? 特定のブラウザとの非互換性はありますか?

4

4 に答える 4

1

コードをもう少し読みやすくするためだけに、「本当の」理由はありません。

と同じように:

var myAge = 26;
var myAgeNextYear = myAge + 1;

VS:

var myAgeNextYear = 26 + 1;

私の個人的な好みは、複数回使用している場合にのみ obj への参照を保持することです。

于 2012-05-28T09:21:41.163 に答える
1

プロパティを 1 つだけ設定する必要がある場合は、まったく問題ありません (プロパティにアクセスする前に戻り値が有効かどうかを確認したくない場合に限ります)。

ただし、複数のプロパティがある場合は、ルックアップを 1 回だけ実行する必要があるため (id ルックアップは非常に高速ですが)、要素を変数に割り当てることがその場合の方法です。

もちろん、jQuery を使用してこれをさらに短くすることもできます。$('#coffee_msg').show()
また、何らかの理由で要素が存在しない場合にエラーが発生しないという利点もあります。また、複数の CSS プロパティなどを設定したい場合は、単一の呼び出しでそれを行う関数を使用するか、異なる jQuery メソッドへの複数の呼び出しを連鎖させることができます。

于 2012-05-28T09:23:01.443 に答える
1

2 つの異なる方法はまったく同じように機能します。一時obj変数を使用すると、コードの可読性が向上する可能性があります (ただし、その場合よりも適切な名前を付ける必要がありますobj)。

于 2012-05-28T09:23:22.413 に答える
0

最初のオプションは、可読性が向上するため便利です。また、obj 変数をすぐに他の用途に使用できるようにもします。この例を個人的に使用します。

于 2012-05-28T09:26:42.827 に答える