No.1ベストアンサー
- 回答日時:
>>このalert()は、JavaScriptの関数であるにもかかわらず、なぜスクリプトタグ外に記載されていても動作するのでしょうか。
私も、JavaScriptを記述するとき、「なんでこんなのが動作するの?」と疑問に思っていました。
「JavaScriptは、JavaやC++などのオブジェクト指向言語よりも低機能のスクリプト言語」と思っていたのですが、実際には、”伝統的な(古い!)オブジェクト指向プログラミング”よりも進んだ”メタプログラミング”の考え方が入っているようです。
メタプログラミングとは、実行時にプログラムの解釈(コンパイル)をするだけでなく、プログラム自体を生成&解釈&実行するような機能のことを言うようです(もっと違う意味を表すこともあるようですが・・・)
なので、JavaScriptのタグ外にある"alert('test')"も、HTML DOMとJavaScript DOMが協力して、この文を実行時に解析し、実行しているってことのようです。
P.S.
どうもプログラミング言語の世界では、OOP(オブジェクト指向プログラミング)ってのは、ちょっと古い考え方になっているようです。”まず、何をクラスにすればいいか?それが問題だ!”的な考えの時代があったのですが、現在は、「クラスなんて無くてもいいじゃん!手早く問題を解決できる方法があれば、それを使えば良い」って考え方になっているように思います。
JavaScriptやRubyは、そういう方向で流れているようですし、C#もそういう方向で進化しているといいます。
オブジェクト指向プログラミングよりも新しい概念のメタプログラミングを学ぶ必要があるようです。
この回答へのお礼
お礼日時:2013/09/15 20:18
メタプログラミングというのが、謎をとく鍵の1つということはわかりましたが、正直その内容や今回との関連はいまいち不明です・・・。ですが、ありがとうございます。
No.3
- 回答日時:
onclick=" この部分 " は、スクリプトを書く場所です。
<script>この部分</script>も、スクリプトを書く場所です。
スクリプトを書く場所に書いた内容は、すべてスクリプトと見なされます。
この回答へのお礼
お礼日時:2013/09/15 20:14
イベントハンドラーのあとに書く部分はスクリプトを書く場所であると、これはHTMLの仕様ということですかね、決まっているということですね。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- その他(プログラミング・Web制作) bashのgrepで複数の検索、かつスクリプト内で改行する方法を教えてください。 1 2022/10/06 20:09
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript jqueryとJavaについて 2 2022/05/16 22:39
- PostgreSQL postgreSQLをbashで実行する際に「MORE」表示をなくす方法 1 2023/05/08 21:42
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Googleフォームで選択肢に応じ...
-
二次元配列の中の各行の要素を...
-
clear機能を失わずにファイルア...
-
カラーミーショップのsectionル...
-
出発駅A、到着駅Bを選択すると...
-
読み込んだQRコードをフォーム...
-
jsで、配列内の文章を改行する...
-
①入力フォーム→②確認表示画面→③...
-
HTMLタグに複数のクラスを設定...
-
イラストレーター、縦中横のシ...
-
スマホ上で、左右スワイプで次...
-
セレクトボックスで配列を呼び...
-
var exports = exports || {}; ...
-
ボタンを押したあとに画像を表...
-
GASに文字列として関数を入れる...
-
初心者です。gulpでコンパイル...
-
条件に該当した時のみ定数を宣...
-
ローディングアニメーションの...
-
jsonテキストデータの並び替え...
-
ジャバスクリプトについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
二次元配列を使って順位をだす...
-
プログラムについて。
-
Q&A掲示板の入力フォームに文字...
-
メールフォームの日付入力フォ...
-
iOSのみダブルタップが必要
-
ジャバスクリプトについて。
-
画面遷移を行わずに同一ページ...
-
特定の文字列を複数抜き出した...
-
指定時間になったら、WEBサイト...
-
追加ボタンを押した際に ok ボ...
-
①入力フォーム→②確認表示画面→③...
-
スマホ上で、左右スワイプで次...
-
読み込んだQRコードをフォーム...
-
フロントエンドフレームワーク...
-
React hooksが値を返して配列変...
-
GASでGoogleフォームの自動返信...
-
初心者です。gulpでコンパイル...
-
階層別の組織図の自動作成について
-
HTMLで作った時報アプリが動き...
-
jQueryで同じクラス名のものを...
おすすめ情報