4

JSlintオプションのドキュメントを読んで、利用可能な各オプションを理解していますが、よく理解していないオプションに出くわし、他の場所でそれに関する有用な情報を見つけることができません。

sub-非効率的な添え字を許容する

ドット表記でより適切に表現される式に下付き表記を使用できる場合はtrue 。

これが何を意味するのかについて、誰かがもっと光を当てることができますか?

ありがとう

4

2 に答える 2

7

JavaScriptオブジェクトのメンバーには、ドットまたは下付き文字(角括弧)表記を使用してアクセスできます。

o.foo
o['foo']

...同じことです。ドット表記で名前を使用できないメンバーにアクセスするには、角括弧表記が必要です。

o['hello!']

または動的な名前からメンバーにアクセスする場合:

var name= issomething? 'foo' : 'bar';
o[name]

しかし、単純なo['foo']場合は必要ありません。通常、o.fooフォームは読みやすいので、それを使用することをお勧めします。他の言語のプログラマーの中には、「オブジェクトのように」ではなく「マッピングのように」使用しているオブジェクトに角かっこを使用することを好む人もいますが、JSでも同じです。

(JSlintは、角括弧の形式も「効率が低い」と主張していますが、そうであれば、違いはごくわずかであり、気にする価値はありません。)

于 2010-03-15T15:46:55.397 に答える
2

ここを参照してください。下付き文字表記が行われているように見えます:

document.forms['myformname'];

それ以外の

document.forms.myformname;
于 2010-03-15T15:43:14.170 に答える