7

Notepad ++では、JavaScriptファイルを作成していましたが、何かが機能しませんでした。ボタンがクリックされたときにアラートを表示する必要がありましたが、機能しませんでした。

Notepad++で提供されているオートコンプリートプラグインを使用しましたonClick

私が首都Cを小さなものに変えたときc、それはうまくいきました。

そのため、まずオートコンプリートの関数を見ると、大文字を使用している関数がたくさんあることに気づきました。

しかし、に変更getElementByIdするgetelementbyidとエラーも発生します。さらに悪いことに、学校の私のハンドブックにはすべて大文字で書かれていますが、解決策はすべて小文字で行われます。

では、JavaScriptと、関数に大文字を含めることができる関数とできない関数の選択的な性質とは何でしょうか。

4

4 に答える 4

29

Javascriptは常に大文字と小文字を区別しますが、htmlはそうではありません。

html属性(onclickなど)が大文字と小文字を区別するかどうかについて話しているように聞こえます。答えは、属性では大文字と小文字が区別されないということですが、DOMを介して属性にアクセスする方法は大文字と小文字が区別されます。だから、あなたはこれを行うことができます:

<div id='divYo' onClick="alert('yo!');">Say Yo</div> // Upper-case 'C'

また:

<div id='divYo' onclick="alert('yo!');">Say Yo</div> // Lower-case 'C'

ただし、DOMを使用する場合は、正しい大文字と小文字を使用する必要があります。したがって、これは機能します。

getElementById('divYo').onclick = function() { alert('yo!'); }; // Lower-case 'C'

しかし、これを行うことはできません:

getElementById('divYo').onClick = function() { alert('yo!'); }; // Upper-case 'C'

編集:CMSは、ほとんどのDOMメソッドとプロパティがキャメルケースにあることを示しています。頭に浮かぶ唯一の例外はイベントハンドラーのプロパティであり、これらはとにかくイベントにアタッチするための間違った方法であると一般に受け入れられています。次のように使用することをお勧めしaddEventListenerます。

document.getElementById('divYo').addEventListener('click', modifyText, false);
于 2008-09-17T21:39:47.627 に答える
6

一部/ほとんど/すべての ActiveX を含む IE のいくつかのオブジェクトは、常に大文字と小文字を区別するとは限りません。XHR.onReadyStateChangeXHR.onreadystatechangeの両方が IE5 または IE6 で正常に動作するのに、後者だけがネイティブのXMLHttpRequestオブジェクトで動作するのはなぜですか。 IE7、FFなどで。

ただし、「標準」API ケーシングのクイック リファレンス:

  • UPPERCASE - 定数 ( constはグローバルにサポートされていないため、通常はシンボリックです)
  • 大文字- クラス/オブジェクト関数
  • 小文字- イベント
  • camelCase - その他すべて

100%保証はありません。しかし、大多数の場合、これは正確です。

于 2008-09-17T22:55:40.627 に答える
1

JavaScript API メソッドはほとんどすべて小文字のキャメルケース名で呼び出され、JavaScript では大文字と小文字が区別されます

于 2008-09-17T21:46:19.187 に答える
1

Javascript常に大文字と小文字を区別する必要がありますが、Internet Explorer で一部の関数名ではすべて大文字を許容し、他の関数名では許容しないケースを見てきました。インタープリター間に奇妙な近親交配があるため、Visual Basic にも存在する関数に限定されていると思います。もちろん、あなたの意図が1つのブラウザでのみ実行されるコードを作成することでない限り、明らかにこの動作は避けるべきです:)

于 2008-09-17T21:46:27.737 に答える