JavaScript

Opera9.2から9.5でのJavaScript周りの変更点

結構な重要な変更があるんですが、OperaのChangelogにそれらが抜けていたり、わかりにくい部分があるのでまとめてみます*1。 Opera 9.5 for Windows Changelog(原文:Opera 9.5 for Windows Changelog)の補足的なエントリになります。 JSONPが非同期リクエス…

GoogleのAJAX Libraries APIでgzipなライブラリが手軽に利用できる

Ajaxian経由、Make the Web Faster — Google Developersが公開されました。本家ページのサンプルではGoogleのライブラリからjQueryとかのライブラリを動的に読み込めるって説明になってますが、これだけ見るとGoogleのライブラリを使うほどではないんじゃ?と…

JavaScriptをこれから勉強しようと思っている人へ(jQueryよりprototype.jsを薦める理由)

JavaScriptは手軽で、実用的なプログラミング言語 どのくらい手軽かといえばJavaScriptを始めるのに(HTMLとCSSは出来た方が良いけど)予備知識はほとんど必要なくて、ブラウザとエディタさえあればすぐにJavaScriptを動かすことができる(FirefoxにFirebugを入…

サーバーサイド技術を使わないクロスドメイン通信補足

クロスドメイン通信方法のまとめ - nopnopの日記の補足です。ブックマークコメントでちょろっと書いたけど、nopnopさんが書いている以外の方法としてwindowのname属性を使う方法とHTML5のpostMessageがあります。 window.name これは単純な方法(その分、クロ…

素のIE6でもBookmarkletからAutoPagerizeできるxAutoPagerize

tsupoさんがIEでAutoPagerizeを動かそうとしているのをみて、この前あげたBookmarklet版ならIEでも簡単に動かせそうだと思い、やってみた⇒できた!!! javascript:(function(a,s){s=document.createElement('script');s.charset='UTF-8';s.type='text/javascri…

forEach色々とベンチマーク

cho45さんがCodeReposにあげていたJSEnumeratorに付随していたベンチマークでちょっと遊んでみました。 肝心なことを書き忘れていた。はっきりと差が出ているのは、10回のループをさらに1000回ループさせているからで、大抵の場合はどのメソッドを使っても体…

JavaScriptでパーティクル!(もどき)

Not Found|デジタルクリエーターを支援するサービスカンパニー 株式会社ボーンデジタルを買ってFlashのお勉強中なんですが、サンプルを見ていたらJavaScriptで動かしたくなってしまいました。で、作ってみた。 JSParticle? (注:結構重いです) 右上のボタン…

クロスブラウザなイベント登録の効率とか:自分自身を書き換える関数

JavaScriptのイベントリスナーの話 - public static void main 勉強会補足 - about:blank Re: イベントリスナーの話 - hogehoge @teramako無名関数でブラウザごとに振り分けられた関数を作成しておくTipsは最近意識して使うようにしているのだけど、今度はこ…

JavaScriptのString#matchと正規表現

どうもよくわかってなかったというか、誤解していた部分があったようなので、とりあえずFirebugで書いてみた。 var log = console.log; log("a/a".match("a")); // "a" log(RegExp.$1); // log("a/a".match("(a)/")); // "a/", "a" log(RegExp.$1); // a log…

論理演算子で関数の引数を入れ替える

論理演算子(&& と ||)を応用する - てっく煮ブログについて、まとめに違和感があった。というか、そもそも普通は逆にするよなぁと思ったので。 function add(a, b){ addImpl(b && a, b || a); } function add2(a, b){ addImpl(a || b, a && b); } function…

ObjectからDOM Treeを作る関数

hashを渡すと、その構造をなるべく再現してくれるinnerHTMLに近い直感的なDOM構築関数があったら便利かなーと思って書いてみた。 /* * DOM Tree Builder */ function $T(nodes,node,parentId) { var parent, prefix = parentId ? parentId + '_' : ''; if (!…

時間差を設定し、最後にセットした関数だけを実行する

重たい処理があるんだけど、連続して実行したい場合にメイン処理の実行を遅延させて、最後にセットされた処理だけを実行するようなメソッドを書いてみた。例えば、コマンド入力にも使えるかも? 追記:使えそうなケース はてなスターを連打している間はカウン…

JavaScriptで数値を3桁ごとに区切る

3桁ごとに区切る - Higé au lait iandeth. - javascriptで数値をカンマ区切り文字列に変換する関数メモとりあえず書いたの。Array#spliceで後ろから三桁ずつ切る。 Number.prototype.split3=function(){ var arr = String(this).split(''), len = Math.ceil(…

Array.prototype.eachLater

LDRで使われている、Function.prototype.later(via *「ふっかつのじゅもんがちがいます。」)にインスパイアされて、Array.prototype.eachLaterを書いてみました。 Array.prototype.eachLater = function(ms,call,callback,ob){ var self = this; var obj = …

ページ内のJavaScriptを表示するJavaScript

Tweener Example(XHTML)用にサクッと書いてみた。 既出ネタかもしれないけど。 <script type="text/javascript"> //

JSTweenerを触ってみたけどXHTMLで動かなくて手を入れてたら遊んでしまった結果

はい、やや長いタイトルの通りで半分ネタです。 JSTweener - JavaScript でモーショントゥイーンするライブラリ - 2nd lifeを弄ってみました。 こんな感じになりました。 Tweener Example(XHTML) http://ss-o.net/jstweener/js/JSTweener.js (そういえばSafa…