タグ

2009年6月10日のブックマーク (9件)

  • JavaScriptのイロハ:特集 - builder by ZDNet Japan

    builder by ZDNet Japanをご愛読頂きありがとうございます。 builder by ZDNet Japanは2022年1月31日にサービスを終了いたします。 長らくのご愛読ありがとうございました。

    mooz
    mooz 2009/06/10
    クロージャやスコープチェーン。
  • for 文と無名関数のイディオム - IT戦記

    id:cho45 がチョロっと書いたコードが話題になっている 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 - subtech このような書き方は、自分もたまにする。 というわけで、この書き方をする利点を以下の順に解説して見る。 単純な for 文の問題点 with 文を使った解決方法と、その微妙な問題点 無名関数を使った解決方法 単純な for 文の問題点 まずは、以下の HTML に対して <ul> <li>hoge</li> <li>fuga</li> <li>piyo</li> </ul> 以下の JavaScript を実行して var list = document.querySelectorAll('ul > li'); for (var i = 0, len = list.length; i < len; i++) { var node = list[i]; v

    for 文と無名関数のイディオム - IT戦記
    mooz
    mooz 2009/06/10
    ループ使って生成した時とか。
  • 継続渡し形式(CPS)Javascriptプログラミング

    継続とはコンピュータがプログラムを実行しているときの次に何をするのかを表す概念です。詳しくは何でも継続のページを参照し欲しいのですが、継続はプログラムを実行する上で欠かせない存在となっています。ソースコードのある行を実行したら次の行を実行します。関数(サブルーチン)を終了したら、呼び出し元に戻ります。これらは全て継続です。あたりまえと言えばあたりまえのことです。しかし、このあたり前のことを明確に意識しようとすると途端に目の前に霞がかかったようになります。 プログラミングの世界の概念には、禅の公案のようなものがある。それを説明する文章はほんの一文なのに、最初に目にする時、その文は全く意味をなさない、暗号のように感じられる。だがひとたびその概念を理解すると、その概念の説明は確かにその一文で説明されているのがわかるのだ。 そんな、「分かれば分かる」という禅問答の中でも「継続」は最も謎めいたもの

  • Array-like Objects in JavaScript | ShiftEleven

    mooz
    mooz 2009/06/10
    Array.prototype.slice.call
  • 最速インターフェース研究会 :: 実践JavaScriptリファクタリング

    同じ事をやるにも、いろんな書き方があるわけでいかにして短くてわかりやすいコードを書くかというノウハウを紹介します。 例として"abcde"を80回繰り返した文字列を作るとして実際に自分のコーディングスタイルがどんな風に変化していったのか、という。 短くなるのは確かなんだけどわかりやすいかというと、人によるかもしれない。 グローバル関数を定義2年前なら、多分こういう具合だった。 //ふつうに関数として定義する function x(str,num){ var tmp = ""; for(var i=0;i<num;i++){ tmp += str; } return tmp; } x("abcde",80) Stringのメソッドとして定義1年前だとこんな感じ。 //Stringのメソッドとして定義する String.prototype.x = function(num){ var tmp

  • ultra blue:JavaScript : Opera と Firefox でのキーイベントの違い

    キーが押され続けたときの挙動 keydown について。 Firefox では押している間中リスナの関数が実行されるのに対して、Opera ではキーが押された一回のみ。 keypress では両者共通して実行され続ける。 デフォルトイベントの制御・抑止 両ブラウザで共通させるためには keypress を用いる。 document.addEventListener( 'keypress', function(e){ e.preventDefault(); }, false); これで Opera であっても、例えば vim のように Ctrl + r を redo とするようなアプリケーションが作れる。ただし Alt + f などでは、ブラウザデフォルトのメニューが開かれてしまう。一方、 Firefox では Alt 押しながら f といった操作も制御可能。ただし前述のように、この場合は押

  • キーコード - ×××Diary

    現状のキーイベントでは、キーを押して離した際に keydown→keypress→keyupの順にイベントが発生し 物によっては、keyupが発生しなかったりkeypressが 発生しなかったりする。 おまけにkeypressの値は、おかしな数値を吐く。 keyイベント周りはあまり使うべきじゃないんだろうけど ピンポイントで使いたい時などひとまずキーイベントの 有無やキーコードを確認したくなる。 で、ちょうど欲しいのがないなぁ... と、思っていて作り始めてたらまさに思い描いていた物が w3cにあったんで、記念に貼付けときましょ。 Key and Character Codes vs. Event Types 以下は、主要なキーのキーコード一覧 使用したブラウザは、winの下記のバージョン。 IE6/IE7/Ff3.0.6/Opera9.52/Safari3.1.1(win)/Crome1

    キーコード - ×××Diary
  • ネットワークプログラミングの基礎知識

    ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板

  • GNU Emacs Lispリファレンスマニュアル: 6. シーケンス, 配列, ベクトル

    mooz
    mooz 2009/06/10
    ベクトル表示 [Meta Tab] みたいなやつのこと。