Reset
2009-01-12追記 タイトル修正しました。 2009-01-14追記 String.indexOf と RegExp.test のスコアが逆に書かれてていたのを修正しました。 String.match ばかりで、RegExp.exec を使ったことがありませんでした。 ちょっと気になったので色々とベンチマークを取ってみました。 TEST TIMES IE6 Fx3.0 Fx3.1 (JIT) Safari3 Chrome1 (JIT) A. match(/\s*/) vs match(/ */) "aaaaaaaaaaaa".match(/\s*aa\s*/) 1000000 7203 1714 327 2375 2128 "aaaaaaaaaaaa".match(/ *aa */) 1000000 7156 1638 297 2328 2148 B. RegExp.exec vs
空から女の子が降ってくる - ぼくはまちちゃん!(Hatena) id:murky-satyr先生 の http://gist.github.com/45346 を勉強目的に読んでたら、自分でも書きたくなってついやってしまった。すごく出遅れ感あるけど、折角なので公開。 <br /> javascript:H='http://hamachiya.com/g';E='.gif';R=Math.random;Q=new Image;Q.src=H+1+E;N=90;P='%';I=0;L=function(Y,r,V,f,S){S=(V=Q.cloneNode(r=R(Y=N)+1)).style;S.position='absolute';S.right=R()*N+P;(B=document.body).appendChild(V);f=function(){Y>2?(S.bottom=(Y
# 昨日の日記の続きです。 Browser Test kQuery uupaa.js + テコ入れ peppy (cache on) peppy (cache off) sizzle-0.9 jQuery 1.2.6 IE6 A0 248 153 287 294 338 369 A1 611 604 1447 1507 1420 1100 IE7(別PC) A0 144 116 - - 266 306 Firefox2 A0 294 237 138 386 515 398 A1 647 541 408 356 1464 841 Firefox3 A0 142 115 38 102 193 176 A1 259 207 157 176 489 360 Test A0: SlickSpeed のデフォルトのテスト項目(利用頻度が高い項目をテスト) Test A1: ofk さんのテスト項目(利
EfficientJavaScript - Dev.Opera - 効率的な JavaScript 目次 この文書について 効率的な JavaScript ECMAScript eval や Function のコンストラクタを使うのはやめよう eval を書き換えよう 関数を使いたいなら function を使おう with を使うのはやめよう 性能を決める関数で try-catch-finally を使うのはやめよう eval と with は隔離しよう グローバル変数を使うのはやめよう 暗黙のオブジェクト変換に気をつけよう 性能を決める関数で for-in を使うのはやめよう 文字列は累積スタイルで使おう プリミティブの操作は関数呼び出しより速い setTimeout() や setInterval() には文字列でなく関数を渡そう DOM 再描画と再フロー 再フローの回数をでき
Make a note of it: Web tech, montaineering, and so on. Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。 Webに言語は数あれど、特に玉石混淆の激しいJavascriptの書き方について纏めてみた。間違い指摘大歓迎! 発端はYahoo!の Eric Miraglia による、YUI 式モジュールの作り方をまとめた記事。ざっくりまとめると、以下の手順になる。 YAHOO.myProject.myModule = function () { //"private" variables: var myPrivateVar = "I can be accessed only from within YAHOO.myProject.myModule."; //"private" m
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
こんにちはこんにちは!! はてな見てたら、こんなのがありました! 【降臨賞】空から女の子が降ってくるオリジナルの創作小説・漫画を募集します - 人力検索はてな 条件は「空から女の子が降ってくること」です。要約すると「空から女の子が降ってくる」としか言いようのない話であれば、それ以外の点は自由です。 字数制限 : 200〜1000 字程度 締め切り : 2009-01-12 18:00 で募集を止めます。 優勝賞品 : もっとも稀少な(と質問者が判断する)作品を書いてくださった方に 200 ポイントを贈ります。 面白そうですね! さっそくぼくも応募してみたよ! 応募した内容はこれ! javascript:(function(){scroll(0,0);H='http://hamachiya.com/';D=document;F=Math.floor;R=Math.random;Q=new I
低速復活中なので、kQueryを細々と書き直しました。 http://kquery.if.land.to/slickspeed2/system/kquery.js URLからもわかるように大好きなSlickSpeedも置いておきました。 http://kquery.if.land.to/slickspeed2/ http://kquery.if.land.to/slickspeed2/slickspeed2.zip 広告入るスペースなので、zipに固めたものも置いておきます。 基本的に速度向上ではなくて、内部的なリファクタリングがメインなので、劇的に速度が向上したりはしていません。まぁ、少しは向上していますがw 今回の改造は、 親ノードを配列で複数渡せるように。 大抵のセレクタ実装だと一つの親しか渡せないけど、find関数を実装することを考えると複数取れた方が都合がいいよね? ID、クラス
今度は崩壊終了後に逆再生して元に戻ります。 javascript:(function(d,s){s=d.createElement('script');s.type='text/javascript';s.src='http://www.rr.iij4u.or.jp/~kazumix/d/javascript/meltdown2.js?'+(new Date).getTime();s.charset='UTF-8';d.body.appendChild(s);})(document) これを崩壊させたいページのアドレスバーに貼り付けて実行すると、そのページが崩壊します。その後、逆再生して元に戻ります。 要素がたくさんあるページで実行すると面白いと思います。Yahoo! JAPANとか。 本体ソース meltdown2.js 前作からの改良点 逆再生します 大幅にパフォーマンスアップ。今回は
元ネタはie7-js。JavaScriptを無効にしていると機能しません。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>ie6-abbr-fix</title> <!--[if lt IE 7
Flash 10 でも「はてなダイアリー」の「バックアップ機能」を使えるようにするグリースモンキー - IT戦記を見て、ユーザーエージェントを切り替えるように、Flashのバージョンも嘘を付けるようにできるといいと思った。 Firefoxだと、 navigator.plugins['Shockwave Flash'].__defineGetter__('description', function () { return 'Shockwave Flash 9.0 r151'; }); とすればいい。 Safari(WebKit)だと、 navigator.plugins['Shockwave Flash'] !== navigator.plugins['Shockwave Flash']; なので、上の方法はうまくいかない。 var navigator_ = window.navigato
すでにあるリソースの有効活用ってことで var Flash = function () { var o = {installed:0, version:[]}, description, oActiveX, nMajor, nMinor; if (navigator.plugins && typeof navigator.plugins["Shockwave Flash"] == "object") { o.pluginType = "npapi"; description = navigator.plugins["Shockwave Flash"].description; if (typeof description != "undefined") { description = description.replace(/^.*\s+(\S+\s+\S+$)/, "$1"); nMaj
fotolife記法で大きいサムネイル画像を表示できるようになりました フォトライフの写真を表示するfotolife記法で、120pxのサムネイル画像を表示できる「:medium」指定を追加しました。これまでの「:small」指定では60pxのサムネイルが表示されていましたが、「:medium」指定ではフォトライフリニューアル後の大きいサイズのサムネイルを表示させることができます。 120pxのサムネイル画像を表示するには、通常のfotolife記法に続けて「:medium」と記述してください。 (120px) (60px) (通常サイズ) と記述すると、 (120px) (60px) (通常サイズ) のように表示されます。 idea:19740でご要望いただきありがとうございました。その他、fotolife記法のオプション指定につきましてははてなダイアリーのヘルプをご覧ください。 ツイー
ベンチマーク中に「なんかビジー。スクリプト止めとく?」なダイアログで、台無しになってしまうことがあります。 今日はそれを回避する設定をご紹介。 IE: レジストリに新しい値を追加することで可能 KEY: HKEY_CURRENT_USER/Software/Microsoft/InternetExplorer/Styles/MaxScriptStatements(DWORD) VALUE: デフォルトが 5000000 なのでそれ以上の値を指定する Firefox: about:configで設定可能 KEY: dom.max_chrome_script_run_time VALUE: デフォルトが 20 なのでそれ以上の値を指定するか、0 を指定する。0 でタイムアウトしなくなる。 Safari: 開発メニューで設定可能 [メニュー] - [開発メニュー] - [Runway JavaS
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く