function setButtonHandler () { var buttons = document.querySelectorAll(".hogeButton"); for (var i = 0, len = buttons.length; i < len; ++i) { (function(n) { buttons[i].addEventListener("click", function() { alert(n); }); }(i)); } } って感じのコードってあるじゃないですか。JavaScript で陥りがちな落とし穴を解決するみたいな感じで。 でも、これって本当は良いコードじゃないよね。 (function(n) {.... }(i)) が格好わるいっていうか、毎回即時関数実行かよっていうね click のハンドラーも同じコードなのにループ数分生成しちゃってるよねー
<html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script src="http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script> <style> .title{ width:100%; height:240px; line-height:240px; text-align:center; background:#ccc; } </style> <body> <script> //ヒアドキュメント var heredoc = (function () {/* <div class="title"> <h1> <a href="$
This shop will be powered by Are you the store owner? Log in here
JavaScriptで多重継承 前回のメモでは、JavaScriptにおける多重継承のやり方を書いておきました。これを見て、メソッドのオーバライドのやり方が気になった人もいるかもしれません。 前回のメモ - JavaScrpitの個人的なメモ http://d.hatena.ne.jp/dhrname/20121002 そこで、今回は、前回に続けて、メソッドのオーバライドのやり方を説明します。 前回と同様に、JavaScript以外の言語を習得している人を念頭においています。 メソッドのオーバライド まず、Super1とSuper2の2つのコンストラクタ関数を用意します。 それらをChild関数に継承させます。このChild関数には、親と同じ名前のメソッドが登録されています。このメソッドに親のメソッドをオーバライドさせてみましょう。さらに親のメソッドも呼び出します。これはクロージャを使えば
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く