0
<HTML>
<HEAD>
<TITLE>Example 5.3</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function calculate(form) {
      form.results.value = eval(form.entry.value);
}
function getExpression(form) {
      form.entry.blur();
      form.entry.value = prompt("Please enter a JavaScript mathematical expression","");
      calculate(form);
}
</SCRIPT>
</HEAD>
<BODY>
<FORM METHOD=POST>
Enter a JavaScript mathematical expression:
<INPUT TYPE=text NAME="entry" VALUE="" onFocus="getExpression(this.form);">
<BR>
The result of this expression is:
<INPUT TYPE=text NAME="results" VALUE="" onFocus="this.blur();">
</FORM>
</BODY>
</HTML> 

上記のコードは、1 つの js チュートリアルからのものです。

質問:

onFocus="getExpression(this.form);"thisここで何を表しますか? 私はそれがウィンドウオブジェクトだと思った、もしそうなら、この行を説明することはできません: onFocus="this.blur();"、または両方ともthis入力フィールドを意味しますthis.form。私はここで混乱し'this'ました、誰か私に説明してもらえますか? ありがとう。

4

3 に答える 3

2

onFocus="getExpression(this.form);" 、これはここで何を表していますか?

thisここにあなたの入力があります<INPUT TYPE=text NAME="entry"/>

onFocus="this.blur();"

thisここにあなたの入力があります<INPUT TYPE=text NAME="results"/>

于 2013-06-25T05:54:49.443 に答える
2

thisは、その特定のフォームと特定の要素を指すことを意味します。

例:これは私が今まで投稿した最短の回答です(この質問を参照してください)

于 2013-06-25T05:55:07.827 に答える
0

this キーワードは、JS 環境ではトリッキーなキーワードです。この記事は、以前に理解するのに本当に役立ったので、この記事をお勧めします。this キーワードを理解する

この場合、このキーワードの動作を変更する call() または apply() によって関数が実行されていない場合、関数の呼び出し元 (この場合はイベントがトリガーされた入力) を表す必要があります。

お役に立てれば :)

于 2013-06-25T06:34:14.223 に答える