JavaScript は結構難解な言語です。ですが、これだけは押さえて置かなければなりません。 まずはサンプル
<input type="button" id="target" value="ボタンのイベント"> <script type="text/javascript"> document.getElementById("target").addEventListener( "click", function(){ alert("こんにちは"); setTimeout( function(){ alert("3秒後"); }, 3000 ); } ); </script>
このコードで表示されるボタンをクリックすると、まず『こんにちは』とメッセージボックスが表示されて、それを閉じた3秒後に再びメッセージボックスで『3秒後』と表示されます 通常の認識では、addEventListener ではイベントを登録し、setTimeout では処理を書くようになっている所に、いずれも function() {} という『無名の処理』が記述されて、正しく動作します。 さらに、『無名』ではありますが、名前を使わずに記述そのものを実行する手段も存在します( Windows8 のストアアプリの JavaScript 版ではいきなりこんなのが出て来ます )
<input type="button" id="target" value="ボタンのイベント" onclick="test();"> <script type="text/javascript"> function test() { (function(){alert("こんにちは");}) (); } </script>
こうなると、C言語的には完全に関数のポインタで、C# 的にはデリゲートで、C# では function() {} のかわりに () => {} というラムダ式を使う事になります。とにかく、function() {} だけでは実行のされないブロックが定義されるだけで、それを実行するにはそれなりの場所へ記述する事になります。これらはインラインとか、インナーとかで表現されるもので、本来定義しておいて名前を付けて後で使うという処理を手っ取り早く『その場で使う』為の記法です。 という前提で jQuery の $(function(){}); を考えるといいと思います。 jQuery を試すには 関連する記事
|
【JavaScriptの最新記事】
- Firebase の Realtime Database の JSON を jQuery の $.ajax で読み込んで TABLE を作成する
- Firebase に定義した Realtime Database の API を使用して TABLE を作成する
- IE や Firefox の開発者ツールのコンソールで簡単に localStorage を見る為の1行コード
- テキストエリアでタブ処理
- ブラウザ判定 : String.prototype.browser に登録して、文字列と実際のブラウザが一致したら true を返す
- jQuery UI の datepicker を使用した現在の日付文字列の取得 と 一般的な現在の日付文字列の加工取得処理
- geolocation を使用して『都道府県選択コンボボックス』の初期値を現在の緯度・経度から選択する
- 雪を降らす snowstorm.js の 特定 DIV 内での実装
- JavaScript : ブックマークレットの作り方
- いまさらですが、JavaScript で、グローバル領域を汚さない変数宣言の使用方法
- 二回目のロードは無視する、JavaScrip ライブラリの基本スケルトン
- ブックマークレットから、ページ中央に固定する IFRAME ウインドウを作成する
- JavaScript の全ての オブジェクトに同じ機能を持たせる
- JavaScript : コンボボックスの OPTION 部分の操作でたいていのテクニック
- JavaScript : 文字列で表現された日付を論理チェック
- HighslideJS 用貼り付けコード作成
- テキストエリアに入れた JSON データをチェックするコード(F12等の開発者ツールも使う) / JSON.stringify と JSON.parse
- エレメント(主にPRE)を選択状態にする
- GoogleVisualizationAPIを使用したブラウザ比率の円グラフ(2009年3月〜) / IE がまだ半分を占めてます
- Safari for windows の alert