javascript
理解が十分でなかったので、loadイベントについてきちんと調べてみた。 DOMContentLoaded と load の違い まずはここから。 The DOMContentLoaded event is fired when the document has been completely loaded and parsed, without waiting for stylesheet…
Abstract Factory VehicleFactory をそのままではちょっと芸がないので、Ballにしてみた。 Decorator Crepeをデコレーションしてみた。 Flyweight イミュータブルな巨大配列の作成に Flyweight を適用してみた。
JavaScriptデザインパターン作者: Addy Osmani,豊福剛,サイフォン合同会社出版社/メーカー: オライリージャパン発売日: 2013/05/25メディア: 大型本この商品を含むブログ (7件) を見る 原著である Learning JavaScript Design Patterns がオンラインで公開さ…
メモリリークに関して理解したかったので、いくつか記事を読んでみた。 ガーベッジ・コレクターは定期的にオブジェクト・グラフ全体を調べ、各オブジェクトを参照している他のオブジェクトの数をカウントします。あるオブジェクトのカウントがゼロの場合 (そ…
JavaScript The Good Partsでnew演算子は使わないほうがいいよと書かれてるものの、具体的な方法明示されてないので、少々調べてみた。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new より引用。 When the code new foo…
クッキーが使えるかどうかを判定するにはnavigator.cookieEnabledの真偽をチェックすればOK。実に簡単な話なんだけど、こういうのは存在を知っている or 存在しそうだなという勘を働かせるというのが大事だなと思った。
li要素をタップしたら、ほげほげ(アラート出す、ハイライトする、etc)させたかったのでonclickを使ってたんだが、どうも動きがもっさり。ググってみるとこんな記事が。Remove onClick delay on webkit for iPhone Developing on the webkit for iPhone I e…
JavaScriptの肝になるプロトタイプのことを実はよく理解してなかったorz サイ本を読んで整理してみる。 すべてのオブジェクトはprototypeオブジェクトを持ち、その全プロパティを継承する コンストラクタでオブジェクトが生成される時、オブジェクトのprotot…
読めば分かるけど、書けない(涙)状態なので、練習。 Hello Closure! var count = function() { var i = 0; return function() { return ++i; }; }(); alert(count()); // 1 alert(count()); // 2 alert(count()); // 3 ちなみにperlだとこんな感じ。 my $c…
プロトタイプはJavaScriptにおける中核的な機能で、プロパティの継承の役割を担うってことはわかってるんだけど、細かいこと分かんない>_ いろいろ試して、少しずつ理解を積み上げていく! Circle = function(){}; Circle.PI = 3.14; var c = new Circle(); …
「JavaScript: The Good Parts」を読んでいる。関数の呼び出しパターンには、メソッド呼び出し、関数呼び出し、コンストラクタ呼び出し、apply呼び出しの4パターンがあり、thisがどのように扱われるかが違う。 メソッド呼び出し thisには呼び出しオブジェク…
javascriptにおける関数はオブジェクトだ! と言われてもいまいちピンとこないのでちゃんと調べて理解してみる。 関数はオブジェクト? function static_function() { } for (var prop in window) { if (prop == 'static_function') alert("func is window's…
リアルタイムWebやEvented I/Oやらがホットらしいが、そのあたりの技術トレンドに追いていかれてる感があるので、調べてみた。 まずはLong polling。http://en.wikipedia.org/wiki/Push_technology Long polling is a variation of the traditional polling …
最近javascriptをちょこちょこ書いているが、基本構文すらまともに覚えていない状態で書くのはあまりに効率が悪いことに気づいた(爆)。どうせやるなら「動けばよし」ではなく「完璧に理解」を目指したいじゃまいか。ということで、基本に立ち返って調べた…
ベンチマーク http://blog.creonfx.com/javascript/mootools-vs-jquery-vs-prototype-vs-yui-vs-dojo-comparison-revised に掲載されているベンチマークテスト内容をサマる。 テスト対象 tests the selectors which are essential part of any Javascript fr…
ちょっとずつjQueryを使い始めている。 本当にHelloWorld的なことレベルだが覚え書き リファレンス http://semooh.jp/jquery/ はじめてのjQuery ドキュメントのロードが完了したら、アラートボックスに「Hello World!」を表示。 $(document).ready(function(…
自作。ブラウザにつけると便利。 javascript:d=document;w=window;t=''; if(d.selection){t=d.selection.createRange().text;} else if(d.getSelection){t=d.getSelection();} else if(w.getSelection){t=w.getSelection();}; if(t==""){t=w.prompt("Perl Mo…
以前、javascriptの連想配列の実体はオブジェクトだよーんていう話をどこかで見た(or 聞いた)気がして色々試してみようと思ったら、すでにamachang氏がやっていた。 http://d.hatena.ne.jp/amachang/20070202/1170386546さすが & ありがとぅ!!(面識は…
TextAreaに入力されているアンカーテキスト形式に誤りがないかチェックするため、まずはすべてのアンカーテキストを配列に取り出すことに。 これが意外と難しかった。 function extractAnchors(text) { text = text.replace(/</g, "<"); text = text.repl…
documentオブジェクトを引数に取る無名関数を定義 関数内でinnerHTMLを取得し、正規表現を利用して置換処理 関数を実行 でOK! 例えば、googleと書いてある文字を黄色でマークアップする。 javascript:(function(d){ d.body.innerHTML=d.body.innerHTML.repla…
たまに英単語を調べる時に不便なので。 和英・英和どちらでも検索できます。 使い方*1 ツールバーで右クリックし、プロパティをクリック URLに以下のコードをコピペ 調べたい単語を選択した状態で、ブックマークレットをクリックすればOK。*2 コード javascr…