タグ

javascriptに関するWackyのブックマーク (501)

  • IT戦記 - 一行で IE の JavaScript を高速化する方法

    以下の一行をすべての JavaScript の前に読み込む /*@cc_on _d=document;eval('var document=_d')@*/ この一行を読み込むことによって IE での document へのアクセスが 5 倍速くなります。 たとえば 以下のように、読み込む前と読み込んだ後を比較してみます。 // Before var date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date - date); // 643 /*@cc_on _d=document;eval('var document=_d')@*/ // After date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date -

    IT戦記 - 一行で IE の JavaScript を高速化する方法
    Wacky
    Wacky 2007/10/10
    /*@cc_on _d=document;eval('var document=_d')@*/ この一行を読み込むことによって IE での document へのアクセスが 5 倍速くなります。
  • jQueryがイカス件について - coma2n’s diary

    jQueryを使ってテーブルの各要素に対してとある処理を行ってみたのだが、あまりの使いやすさにびっくりした。 たとえば以下のようなテーブルがあったとする。 <table id="dataTable" border="1"> <tr> <th></th> <th></th> <th></th> </tr> <tr> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> </tr> </table> これに対して以下の処理を行う場合 最初のTR要素はヘッダ列のため無視する。 最初のTD要素にのみテキストを追加する。 jQueryではこんな風に書ける。 <script type="text/javascript"> $(document).ready(function() { $("#dataTable").

    jQueryがイカス件について - coma2n’s diary
  • アプリケーションもjavascriptで書けるpure javascriptのHTTPサーバmozJSHTTP - bits and bytes

    以前Firefoxのソースコードの中にmozJSHTTPという名前のjavascriptで実装されたHTTPサーバをみつけたのでちょっと動かしてみました。 mozJSHTTPがいったいどういう目的で開発されているのか、わかりませんでしたが(いまはFirefox体に組み込まれているわけでもないし、拡張機能でもなく、単にソースコードがCVSに入っているだけみたいです)ソースコードはmozillaのCVSから持ってくることができます。 cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/netwerk/test/httpserver Firefox3のインストール mozJSHTTPは、新しくFirefox3で追加された @mozilla.org/thread-manager;1 という名前のコンポーネントを

    Wacky
    Wacky 2007/10/05
    Songbird間で曲の共有をしたりするときの通信プロトコルとしてHTTPを使われているようです
  • CodeZine:JavaScriptとオブジェクトの関係(チュートリアル)

    はじめに JavaScriptは、とても不思議で面白い言語です。ただ、特徴を掴みきるまでは難解だと思ってしまうと思います。今回は、JavaScriptを理解するコツをいくつか紹介しようと思います。 インタプリタだと思うからややこしい JavaScriptでもっとも難解なのは、「今まで定義していないクラスであっても、あたかも定義されていたかのように、好きなタイミングでインスタンス(変数)を生成できる」という点です。 例えばJavaなどのコンパイラの場合は、実行する前に一度全てのソースをコンパイラが見渡すため、ソースコード全体からクラス定義を見つけ出してインスタンスと関連づけることができます。そのため、クラス定義の実装タイミングやソースコード上での位置がどこであっても問題になりません。 ところが、1行1行読み込みながら実行するイメージのあるインタプリタで、JavaScriptのような

  • Javascriptでpythonを実装してみよう(字句解析まで) - ベイエリア情報局

    元Vine SPARC開発者。2003年度未踏ユース採択者。ウノウ株式会社立ち上げ時に参画して4年間CTOとして従事。退職して現在P&Aラボにて客員起業家として起業準備中。 先週末未踏ユースOBで二泊三日の河口湖まで開発合宿に行ってきました 僕はJavascriptpythonを実装してみるという、なんとも無駄な試みに挑戦してみました 結果できたのは字句解析のところまでorz 字句解析ができた時点で力尽き果ててDSで遊んでました ^^; とりあえず恥を忍んで晒してみる jspython なんか適当なpythonプログラムを突っ込んでtokenizeしてみてください それっぽい出力が出てくると思います 短いプログラムがいいかと思います あんまりブラウザをいじめないで >< 基的にはpythonのプログラムをjavascriptに移植した感じなので、大体はあってるとは思うのですが、pyth

  • 言語開発合宿での成果物:jsでScheme - &lt;s&gt;gnarl,&lt;/s&gt;技術メモ”’&lt;marquee&gt;&lt;textarea&gt;¥

    09/21-23の間、言語開発合宿に参加してきました。 最初は恐ろしくて参加をためらっていたのですが、ujihisaという人の執拗な誘いもあって思い切って参加してみたところ大変楽しかったです。素敵な会にお誘いいただきありがとうございました。情報科学系のすごい先輩方と知り合いになれて嬉しかった! 私は当初の予定ではオリジナルの言語を作る予定だったのですが断念、結局jsでSchemeなどをつくっていました。Lisp/Scheme系言語は実装が簡単なため巷に満ち溢れていますが、まあそんなことはどうでもいいですね! 一応期限内に完成して継続と末尾再帰最適化まで実装できたので面目は保たれました。たぶん。 詳細な説明は後日行いますが、とりあえず発表資料とブラウザで動くデモを公開したいと思います。 デモ:Javascript Scheme コンソールって書いたとこの下のほそいのに字を打ってエンターを押す

    言語開発合宿での成果物:jsでScheme - &lt;s&gt;gnarl,&lt;/s&gt;技術メモ”’&lt;marquee&gt;&lt;textarea&gt;¥
  • JavaScript で構文解析: Days on the Moon

    C++ の特徴のひとつである演算子オーバーロード、その粋を極めたのが Boost Lambda (無名関数) と Boost Spirit (構文解析) ではないかと思っています。JavaScript では無名関数が使えるので Lambda に関しては間に合っているとも言えますが、Spirit はそうも行きません。JavaScript 2 で演算子オーバーロードがサポートされるのならチャレンジしてみようかななどと思ってそれきりになっていました。 しかし、一部でパーサブームが起こっているというのを受け、Perl 6 Rules をつらつらと眺めているうち、正規表現のメタ文字を使えば文法定義をきれいに書けるのではと思い至りました。そこで実際に JavaScript でパーサジェネレータを作り、Spirit にあやかって Gin (ジン) と名づけてみました。 文法定義 正規表現リテラルを使うこ

    Wacky
    Wacky 2007/09/22
    JavaScript でパーサジェネレータを作り、Spirit にあやかって Gin (ジン) と名づけてみました。
  • AJAXのサンプルが山ほどダウンロードできるサイト「Ajax Rain」 - GIGAZINE

    jQuery、ProtoType、.Netなどのフレームワークを使ったサンプル、デモが豊富にあります。しかも、サンプルをダウンロード可能。サンプルやデモを見ているだけでも、インスピレーションが沸いてきます。 詳細は、以下から。AjaxRain かなりのサンプル数があるので探していた物を見つけることができるかも。タグで分別されているので、探すのは意外と簡単にできそうです。ちなみにサンプルの1ページあたりの表示数を変更できるのですが、100以上を入れると100にされます。 毎月このサイトでAJAXなどを使ったコードのコンテストをしているので、腕に自信のある方は応募してみては。詳しくはこちらから。 AjaxRain.com Rain Fest

    AJAXのサンプルが山ほどダウンロードできるサイト「Ajax Rain」 - GIGAZINE
  • JScript.NETでWin32APIを使う。 - Windows Script Programming

    よく分かりませんが、こんな感じで使えるようです。 import System; import System.Reflection; import System.Reflection.Emit; import System.Runtime; import System.Text; // Invoke a Win32 P/Invoke call. function InvokeWin32(dllName:String, returnType:Type, methodName:String, parameterTypes:Type[], parameters:Object[]) { // Begin to build the dynamic assembly var domain=AppDomain.CurrentDomain; var name=new System.Reflection.As

    JScript.NETでWin32APIを使う。 - Windows Script Programming
  • 【特集】Silverlightは次世代のJavaScriptフレームワーク?(1/3) - @IT

    ついに正式リリース! いまこそ知りたい!! Silverlightは次世代のJavaScriptフレームワーク? Microsoft MVP 松原晋啓 2007/9/7 編集部注:具体的なSilverlightアプリケーションの開発の仕方について詳しく知りたい読者は、稿と併せて連載「.NETを知らない人でも分かるSilverlight入門」や連載「Silverlight 2で.NET技術をカッコよく使おう」もご参照ください。また、最新版のSilverlight 3に関しては、記事「Silverlight 3、ここがすごい!」をご参照ください。 いまこそ知りたい、“Silverlight”って何? Silverlightは、マイクロソフトによって開発されたクロスブラウザ(※1)・クロスプラットフォーム(※2)・高度なメディアエクスペリエンスや RIA(Rich Interactive Ap

  • 正規表現の XPath 字句解析その2 - IT戦記

    またまた XPath ネタです。 先日、XPath の字句解析をワンライナーで作ってみた。 - IT戦記で書いた正規表現の XPath 字句解析ですが、よく考えるといろいろおかしかった(不正な文字が無視されたりする)& id:otsune さんからコメントやブクマの突っ込みもありまして、1から正規表現を勉強してから新しく書き直すことにしました。 正規表現の勉強方法 以下の二つの方法で勉強しました。 1.SpiderMonkey の正規表現デバッグオプションを使う SpiderMonkey をビルドするときに、以下のフラグを付けてビルドします。 $ make -f Makefile.ref "DEFINES=-DREGEXP_DEBUG -DDEBUG"こうすると正規表現がどういう風に実行されたかを調べることができます。 こんな感じ $ js js> 'foobar'.match(/o+/)

    正規表現の XPath 字句解析その2 - IT戦記
  • IT戦記 - XPath の字句解析をワンライナーで作ってみた。

    ソースコード var expression = '/html/body/div/[attribute::class="hoge fuga piyo"]'; var tokens = expression.match(/"[^"]*"|'[^']*'|\d+(?:\.\d*)?|\.\d+|\*|\/\/|\/|\||\+|!=|<=|>=|<|>|=|\(|\)|\[|\]|\.\.|\.|@|,|::|-|(?![0-9-:])[\w-]+:\*|\$(?:(?![0-9-:])[\w-]+:)?(?![0-9-:])[\w-]+|(?:(?![0-9-:])[\w-]+:)?(?![0-9-:])[\w-]+|\s+/g); // tokens is ["/", "html", "/", "body", "/", "div", "/", "[", "attribute", "::",

    IT戦記 - XPath の字句解析をワンライナーで作ってみた。
  • ウノウラボ Unoh Labs: JavaScriptライブラリといえば jQuery(入門編)

    こんにちわ。山下です。 最近、私の周りではJavaScriptライブラリといえば、jQuery の名前がまず最初に挙がってくるようになってきました。今回は、jQueryって何が便利なの?っていう人向けに、ポイントを掻い摘んで説明します。 1.名前空間を汚さない 他のJavaScriptライブラリとかだとStringとかArrayを直接拡張してたりしますが、jQueryはグローバルな名前空間を汚しません。eachとかmapのような便利な関数もすべてjQueryオブジェクトの属性として定義されています。 jQuery.each, jQuery.extend, jQuery.grep, jQuery.map, jQuery.merge, jQuery.trim, etc. また、標準では $ にショートカットが割り当てられるのですが、jQuery.noConflict()と書くことで proto

  • 機能変更、お知らせなど - はてな技術発表会日記 - 8月17日の技術勉強会 - Flexレイアウト手書き勉強会

    8月17日の技術勉強会 - Flexレイアウト手書き勉強会 8月17日に行われました技術発表会の内容を撮影した動画ファイル/資料を公開いたしました。内容は以下のとおりです。 テーマ Flexレイアウト手書き勉強会 発表者 d:id:secondlife 勉強会動画 ダウンロード…

    機能変更、お知らせなど - はてな技術発表会日記 - 8月17日の技術勉強会 - Flexレイアウト手書き勉強会
  • 第3回 変数の宣言とスコープ ― @IT

    JavaScriptが、いま注目を浴びている。 長い冷遇の時代を経ながらも、Ajaxという技術の登場とも相まって、JavaScriptの価値はいままた確実に見直されつつある。その過去の凋落と近年の華々しい脚光は、「復権」と呼んでもよいかもしれない。 連載は、JavaScript復権のいまこの時代に求められる、JavaScriptという言語への理解を再確認しようというものだ。その連載、第3回となる今回扱うテーマは、「変数」である。どのような言語においても同様であるが、コード上で値を入力し、処理した結果を格納し、また、ほかへと引き渡すすべての基となるのが変数だ。プログラミング言語を理解するうえにおいて、変数の理解は欠かせない。そして、それはJavaScriptの世界においても同様だ。 稿では、JavaScriptにおける変数のデータ型に始まり、そのスコープ(有効範囲)の概念、そして、初学

    第3回 変数の宣言とスコープ ― @IT
  • 404 Blog Not Found:怠翻 - JavaScriptでありがちな9つのシマッタ

    2007年08月17日01:15 カテゴリ翻訳/紹介Lightweight Languages 怠翻 - JavaScriptでありがちな9つのシマッタ 私自身結構シマッタしちゃうので。 Nine Javascript Gotchas 尻カンマ注意 以下のコードはFireFoxでは動きますが、Internet Explorer (以下IE)では問題になります。 var theObj = { city : "Boston", state : "MA", } 最後にカンマが入らないよう注意しましょう。 浮気なthisは何を見てるやら 以下のコードで、thisは何を指しているでしょうか。 <input type="button" value="Gotcha!" id="MyButton" > <script> var MyObject = function () { this.alertMess

    404 Blog Not Found:怠翻 - JavaScriptでありがちな9つのシマッタ
  • JavaScriptでDOMレンジを扱う:CodeZine

    japan.internet.com は、1999年9月にオープンした、日初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.com や EarthWeb.com からの最新記事を日語に翻訳して掲載するとともに、日独自のネットビジネス関連記事やレポートを配信。

    Wacky
    Wacky 2007/08/11
    DOMのRange(レンジ)は、Webページを動的に操作するための非常に強力なツールです。
  • onerrorでエラーを検出 - VTuberになったプログラマーの魂の残滓

    @nitoyon IE 6 エラーになる?やべー、手元に Windows がないー。ちょっと別のマシン起動してきます。 http://twitter.com/amachang/statuses/191685642 ってのがあったのでonerrorを使ったエラーの検出方法について書いてみたいと思います。 いきなりソースコード var err = function(a,b,c){ var img = new Image(); img.src = 'http://example.com/error.gif?a=' + escape(a) + '&b=' + escape(b) + '&c=' + escape(c); return true; } window.onerror = err; 用意するもの 上のスクリプトをできるだけページの上部に設置 アクセスログを閲覧できる場所に1x1のerro

    onerrorでエラーを検出 - VTuberになったプログラマーの魂の残滓
    Wacky
    Wacky 2007/08/08
    onerrorを使ったエラーの検出方法について書いてみたいと思います。
  • マークアップエンジニアはどこへ向かうべきか(を考えてたらカッとなって LL の資料公開) - IT戦記

    はじめに このエントリはマークアップエンジニアに対する批判ではありません。不快な想いをした方がいましたら、申し訳ありません。 きっかけ ライブドア & サイボウズラボの数人でお昼ご飯をべにいって、いろいろ話しながら考えたことを昼後に Twitter に書き込みました。 濃い昼飯だた、(X)HTML+CSS しか出来ない人は真剣に第二の何かを探したほうがいいと思た。(X)HTML+CSS ではもうこれ以上すごいと呼ばれる人なんて増えないと思う。 http://twitter.com/amachang/statuses/191256222 「CSS 道」は道が短すぎるんだ。マーケティングの為に長く見せてるけど、実際覚えることは少ない。「デザイン」か「JavaScript」を職業に出来るくらいにしとかないとヤバいと思う。 http://twitter.com/amachang/statuse

  • Yet Another Dynamic Presentation!

    地道な高速化 1 // style も new 時にプロパティにいれておく s6.Constructor = function(element) { this.element = element; this.style = element.style; }; 地道な高速化 2 // コールバックを受ける関数では this // や引数を受けるようにしとく s6.hoge = function() { var shift = Array.prototype.shift; // ↓ Opera ではバグるので回避しなきゃダメ var f = shift.apply(arguments); f.apply(shift.apply(arguments), arguments); }; DOM の空きプロパティ // DOM の要素の空きプロパティの // アクセス速度は普通のハッシュとほとんど変