クラスの落とし穴1 - プロパティの初期化 クラスの落とし穴2 - メソッドとクロージャ(この投稿) クラスの落とし穴3 - 継承 クラスの落とし穴4 - プライベート変数の実装 はじめに 前回は、プロパティをコンストラクタで 初期化しなかった場合に起きる落とし穴を投稿しました。 今回は、メソッドをコンストラクタで 初期化した場合に起きてしまう落とし穴を投稿します。 プロパティとメソッドでコンストラクタ初期化するかしないか推奨の実装方法に差があるのは、javascriptの興味深いところです。 クラス定義 まずは前回のおさらいで、クラス定義を次のように書くようにしていました // クラスを定義 function Klass1 () { // プロパティ this.name = 'foo'; this.hobbies = []; }; // メソッド Klass1.prototype.set
このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。 web帳 ども。これまたお久しぶりな感じです。 お仕事がクッソ忙しく全く他のことができない今日この頃です。 が故に良い作品も出来ているので、まぁいいかぁと思う今日この頃です。 で、疲れもピークに来ているせいか、どうも基礎的なところも分かんなくなって来てしまっているのでまとめてみました。 で内容はというと、ul、olなどのリストを取得したい時の処理に関してです。 HTML <ul class="list"> <li>1-1</li> <li>1-2</li> </ul> <ul class="list"> <li>2-1</li> <li>2-2</li> <li>2-3</li> <li>2-4</li> </ul> <ul class="list"> <li>3-1</li> <
JavaScriptの変数のスコープをきちんと理解しているかクイズで確認してみよう -Javascript Scope Quiz
問題です。 問題: 呼び出すたびに、1,2,3,...を返すような関数 f( )を定義せよ。 f(); // 1 f(); // 2 f(); // 3 この問題、解けますでしょうか? 普通の関数では、できないと思います。 しかし「クロージャ」というのを使えば、このようなことができます。 クロージャって何だ? 「クロージャ」という言葉を、プログラムの本やサイトで目にすることがありますよね。 私が最初に見たのは続・初めてのPerl 改訂版(アルパカ本)でした。 まったく理解できませんでした。 その後、404 Blog not foundやnaoyaさんのブログなどで「クロージャ」という単語を目にしました。 やはり、まったく分かりませんでした。 とどめの一撃はWikipediaの解説記事。 クロージャ (クロージャー、Closure) は、プログラミング言語において引数以外の変数を実行時の環境
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く