OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

Java Script の "this"

  • すぐに回答を!
  • 質問No.144149
  • 閲覧数113
  • ありがとう数3
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 40% (2/5)

Java Scriptにおいて、"this"はどういう働きをするのですか?なにぶん初心者なもので猿でもわかるくらい簡単に教えて頂ければありがたいです。お願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全1件)

  • 回答No.1
レベル14

ベストアンサー率 50% (1122/2211)

> Java Scriptにおいて、"this"はどういう働きをするのですか? 日本語そのままなんですが、「要素そのもの」を表します。 要素は、それにつけた名前でアクセスできるので、あるページ専用の関数を 書く上では、あまり this のありがたみを感じられないかもしれません。 でも、例えば、ボタンが複数あって、その内容に応じた処理を共通に記述で きる、とか ...続きを読む
> Java Scriptにおいて、"this"はどういう働きをするのですか?

日本語そのままなんですが、「要素そのもの」を表します。

要素は、それにつけた名前でアクセスできるので、あるページ専用の関数を
書く上では、あまり this のありがたみを感じられないかもしれません。

でも、例えば、ボタンが複数あって、その内容に応じた処理を共通に記述で
きる、とか、スクリプト自体を外部のファイルに逃がして、複数のページで
共通な処理を書くとか、というときに、そのありがたみを感じることができます。

例えば、ボタンが押される度に、その値(ボタンの文字)を決まったテキスト
エリアに書き込むような場合を考えます。

<form name="FORM1">
<input type=text name="BUTTON_NAME" size=50>
<input type=button value="BUTTON1" onClick="document.FORM1.BUTTON_NAME.value='BUTTON1'">
<input type=button value="BUTTON2" onClick="document.FORM1.BUTTON_NAME.value='BUTTON2'">
<input type=button value="BUTTON3" onClick="document.FORM1.BUTTON_NAME.value='BUTTON3'">
</form>

でも良いんですが、onClick の処理が全部同じですよね。そういう時には、

<script>
function set_button_name(form, button) {
form.BUTTON_NAME.value = button.value;
}
</script>

<form name="FORM1">
<input type=text name="BUTTON_NAME" size=50>
<input type=button value="BUTTON1" onClick="set_button_name(this.form, this)">
<input type=button value="BUTTON2" onClick="set_button_name(this.form, this)">
<input type=button value="BUTTON3" onClick="set_button_name(this.form, this)">
</form>

というふうに、処理を関数に追い出せます。

この例だと、あまりありがたみが感じられないかもしれませんが、同じ処理が
複雑で何十行にもわたる、とか、複数のフォームで同様の処理をしなくては
いけないとか、というときに便利です。

# お猿さんに分かるかどうかは自信がありません (^^;
# 分からなければ、補足を。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ