1つの質問が尋ねられました:
コードコピーは次のとおりです。
<スクリプト言語= "javascript">
<script type = "text/javascript">
<スクリプト>
これら3つのタグを使用することの違いは何ですか?
私はそれを使用していますが、私はそれを注意深く理解していません。ここで詳しく説明します。
主にブラウザのサポートの問題のために、いくつかの情報を確認してください。タイプと言語の両方のプロパティを使用して、<script>タグでスクリプトのタイプを指定できます。言語属性は、型属性の使用を提唱するHTMLおよびXHTML標準で批判されています。残念ながら、これら2つのプロパティの値は異なります。
Language Value VBScript(Text/VBScript for Type)が表示される場合があります。
JavaScriptを使用すると、言語の値「JavaScript 1.1」を使用することもできます。これは、含まれたスクリプトステートメントがNetscape 3.0以降でのみ処理できることを示します。 Netscape 2.0はJavaScript 1.0のみをサポートしており、「JavaScript 1.1」とマークされたスクリプトを処理できません。
スクリプトプログラムが正常に実行できるようにするために、IEによってのみサポートされるVBScriptおよびスクリプトエンコーダーメカニズムを意図的に使用しない限り、スクリプトタグの「タイプ」属性を「JavaScript」に設定し、放棄された「ランキンジ」属性を設定しないでください。
各ブラウザは「タイプ」と「言語」の両方をサポートしますが、スクリプト言語タイプの認識とサポートは、設定では異なります。
「タイプ」と「言語」が同時に存在する場合、すべてのブラウザは「タイプ」属性内のスクリプトタイプを優先的に認識します。
その中で、IEブラウザは実際にJScriptおよびVBScriptスクリプト言語のラベル付けとスクリプトエンコーダー暗号化をサポートしています。
Firefox Chrome Safari Operaには、「タイプ」属性値の特定の識別に対する耐性が一貫していません。 Chrome Safariと比較して、属性値の正確性の検証はよりリラックスしており、Firefoxが最も厳しいです。
「言語」属性値の認識に対する許容範囲の比較では、Chrome Safariはすべてのブラウザの中で依然として最もゆるいものであり、つまり最も厳格であり、FirefoxはOperaと同じです。
言語エンコードの比較では、IEのみがjscript.encoderとvbscript.encoderタイプ設定をサポートし、Firefox Chrome Safariはそれをサポートしていません。オペラでは、このプロパティ値はデフォルトのJavaScriptスクリプト言語のみに固定されています。
コードコピーは次のとおりです。
<スクリプト言語= "javascript">
関数a(){
b = "a";
}
a();
アラート(b);
</script>
変数には問題があります。上記のように関数の変数を宣言しても、グローバル変数になります。
varで宣言すると問題が発生します。
コードコピーは次のとおりです。
<スクリプト言語= "javascript">
関数a(){
var b = "a";
bを削除します。
アラート(b);
}
a();
</script>
結果は引き続きポップアップ表示されます。
スクリプトプログラムが正常に実行できるようにするために、IEによってのみサポートされるVBScriptおよびスクリプトエンコーダーメカニズムを意図的に使用しない限り、スクリプトタグの「タイプ」属性を「JavaScript」に設定し、放棄された「ランキンジ」属性を設定しないでください。