タグ

javascriptに関するnitsujiのブックマーク (172)

  • 指向性メモ クロージャとOOPとJavaScriptの謎仕様

    ページ情報 制作日 2005-07-24T03:14:49+09:00 最終更新日 2005-10-28T11:35:21+09:00 ページ内目次 Navigation Comments Trackbacks Post a comment JavaScriptはクロージャでガリガリ書いていく言語だという説もあるが、OOP原理主義としてはプロトタイプベースでもいいからOOPで書きたいのである。というか、クロージャは中途半端で気持ち悪い。 さて、事の発端は『JavaScript とクロージャ』という記事である。この記事によると、なにやらイベントにクロージャを渡すと幸せになれるという事らしい。ふむふむ、たしかにシンプルでいい感じである。 ……が、しかしだ。オブジェクト指向なアレに対して、クロージャには決定的な弱点が有るはずなのだ。そう、メソッド(クロージャ)間での(メンバ)変数の共有である。

    nitsuji
    nitsuji 2006/07/11
    まさに今日はまったやつについて。でもまだちゃんと理解できてない気がするな
  • Technical documentation

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    Technical documentation
    nitsuji
    nitsuji 2006/07/11
    tableを作成するときのパフォーマンスについて。99年か・・・
  • Traversing an HTML table with JavaScript and DOM Interfaces - Web APIs | MDN

    This article is an overview of some powerful, fundamental DOM level 1 methods and how to use them from JavaScript. You will learn how to create, access and control, and remove HTML elements dynamically. The DOM methods presented here are not specific to HTML; they also apply to XML. The demonstrations provided here will work fine in any modern browser. Note: The DOM methods presented here are part

    Traversing an HTML table with JavaScript and DOM Interfaces - Web APIs | MDN
    nitsuji
    nitsuji 2006/07/11
    tableを作ったりとか
  • The JavaScript Library World Cup — SitePoint

    Love them or loathe them, JavaScript libraries are making a huge impact in the area of DOM Scripting. As AJAX matures, and the complexity of the scripts required to support its expanding use increases, it becomes much less feasible to produce custom code from scratch for every project. In addition, the growth of AJAX and the burgeoning interest in Web 2.0 applications is bringing many new people t

    The JavaScript Library World Cup — SitePoint
    nitsuji
    nitsuji 2006/06/20
    の比較
  • 最速インターフェース研究会 :: JavaScriptで作ったお絵かきBBS

    http://la.ma.la/bbs/ コード整形してだいぶ汎用性を高めたつもり。 わかりやすいデモとしてお絵かきBBSを作ってみた。 -IEの場合はVMLの自由曲線を使って描画します。 -他のブラウザの場合は1ドットのspan要素を使って描画します。 -GDを使ってサーバー側でpng画像に変換します。 firefoxかoperaの場合は2GHz以上推奨。書き込むたびにガンガン重くなる。 ---- この手のツールはすでにFlashやJAVAアプレットで優れた実装があるわけだけど、なんでわざわざJavaScriptで作るかというと。 まず起動が早いので、思い立ったらすぐに書けるという点。それから、FlashやJAVAアプレットは、表示エリア内にしか書き込めないのに対して、JavaScriptの場合はhtml中のほかの要素の上に書き込むことができるというメリットがある。 とりあえずここまで出

  • 最速インターフェース研究会 :: JavaScriptでペイント、開発版

    少し留守になるかもしれないのでとりあえずアップ。保存ルーチンをまだつけていない。 http://la.ma.la/misc/plot/draw2.html -zで一手戻す、+/- or q/a でブラシサイズを変更。 というキーバインドをとりあえず実装。作りこめば色変更とか、直線描画とかも色々できるだろうな。 ただ、この手書き機能を組み込んだチャットと、そのチャットを組み込んだWikiを作るというのが目的なので単体であまり作りこむつもりはない。 IEの場合、VMLを使った描画にしてみた。MSNメッセンジャーの手書きモードと、書き心地はそう変わらないが、やっぱり線が増えてくると重くなるのでそれほど書き込むことはできない。 DIV要素を足していく方式の描画エンジンをまず作ってIEの場合のみVMLを使った関数で上書き、という方向性で。 VMLはもう終わっている技術なので。SVGが使えれば一番いい

    nitsuji
    nitsuji 2006/06/15
    paint dev
  • 最速インターフェース研究会 :: JavaScript Vectorgraphics Library

    JavaScriptのグラフィックライブラリ http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm 以前TooltipAPIを使ってみたことがあるのだが、他にもずいぶんと面白いものを作ってたんだなあ。 隣接したピクセルを同じ要素にまとめることで描画パフォーマンスを上げている。同じような最適化をしようとしていたところなので丁度いいかも。使ってみようかな。 Drag & Drop APIもなかなかよくできてる。 http://www.walterzorn.com/dragdrop/dragdrop_e.htm 宮川達彦氏のブックマークから発見 http://del.icio.us/miyagawa ---- ついでに。 同サイトであくまでデモンストレーションとして公開されている「Rotate Image」は恐ろしい。処理に時間がかかりすぎて

    nitsuji
    nitsuji 2006/06/15
    libraryがある
  • 我的春秋: 続 JavaScript ソースが HTML から消える日

    なんか、はてなブックマーク経由で、突然、昔のエントリー(JavaScript ソースが HTML から消える日)にアクセスが集中しているのに気づいて、急遽、フォローアップ エントリーをアップすることにしました。あのエントリーを書いてからまだ半年ですけど、あの時点で僕が気づいていなかったことも幾つかありましたし、何より状況が随分変化してます。 手みじかにおさらいしておくと、「JavaScript ソースが HTML から消える日」で紹介したのは、Ben Nolan 氏が開発した behaviour.js という JavaScript ライブラリです。このライブラリは、関数の実行場所を、外部 js ファイル内で CSS セレクタを使って指定することができ、これによって従来 HTML 中に埋め込んでいたイベントハンドラ部分も含め、文書構造(document structure → HTML の役

    我的春秋: 続 JavaScript ソースが HTML から消える日
    nitsuji
    nitsuji 2006/06/11
    つづき
  • 我的春秋: JavaScript ソースが HTML から消える日

    [2006-06-10 付記]このエントリーは、2006-01-05 時点のもので情報が古くなってます。現時点で把握している最新情報を「続 JavaScript ソースが HTML から消える日」にアップしましたので、あわせてご参照ください。 Behaviour.js ― JavaScript ソースを (X)HTML から完全分離できるライブラリ 昨日、職場の同僚の人がたまたま見つけた JavaScript ライブラリを教えていただたんですけど、これがもうびっくり!なんと、このライブラリがあれば、イベントハンドラーも含めて JavaScript ソースが (X)HTML の body 内から、ほぼ完全に分離できてしまいます! しかも、HTML 内で JavaScript 関数を適用する場所は、なんと JavaScript ソース内に CSS セレクタを書き込むことで指定!あまり日では取

    我的春秋: JavaScript ソースが HTML から消える日
    nitsuji
    nitsuji 2006/06/11
    behaviour.jsを使うとイベントハンドラをCSSセレクタを使ってまとめて指定できる。
  • prototype.js 1.4.0 pre6 でのJSONサポート - 2nd life (移転しました)

    http://dev.conio.net/repos/prototype/pkg/ JSONサポートしたよ!つってたので期待して見たらダメダメだった。 普通xmlhttprequest(xhr)のresponseTextで取得した文字列からJavaScriptで使えるオブジェクトにしたい場合、 eval('var result = ' + result.responseText); とやる必要があった。ここら辺をライブラリでラッピングしてくれてんのかなと思ってソースみたらevalJSONって関数が定義してあってキタコレ!と思ったら全然用途違ったよ! evalJSON: function() { var json = this.transport.getResponseHeader('X-JSON'), object; if (json) { try { object = eval(json

    prototype.js 1.4.0 pre6 でのJSONサポート - 2nd life (移転しました)
    nitsuji
    nitsuji 2006/06/09
    なる
  • Object-oriented JavaScript

    June 7, 2006 Greg Brown JavaScript is not generally considered a robust programming language, especially when compared to languages such as Java or C#: it is interpreted, rather than compiled; it is dynamically, rather than statically, typed; and it is commonly considered a procedural, rather than an object-oriented, language. However, the demands on JavaScript as a development platform are growin

    nitsuji
    nitsuji 2006/06/08
    のooをC#との対比で
  • Prototype.js を使った JavaScript OOP 講座 #03

    社内の勉強会の資料をここに公開していきます。社内の人も社外の人も読んでください。 ※ターゲットは JavaScript は書いたことない、オブジェクト指向言語プログラマ。 ※信念は「教わるのではなく、必死に着いていきませう」 前回までの内容で Prototype.js でどのようにプログラムを書いていくか理解できたと思います。 ここからは、関数やクラスを覚えた数だけ Prototype.js を使えるようになると思います。 しかし、それではいつか必ず躓きます。他人の書いた JavaScript を使うためにはそのコードを読める必要があります。 JavaScript は、言語の仕様レベルの部分までかなり書き換えることが出来ます。 そのため、もし、動作がおかしくなった場合に、どこがどう影響したか自分で調べられなければならないのです。 今回は、 Prototype.js を読むために必要な知識を

    Prototype.js を使った JavaScript OOP 講座 #03
    nitsuji
    nitsuji 2006/06/07
    ありがたい
  • IT戦記 - Prototype.js を使った JavaScript OOP 講座 #02

    社内の勉強会の資料をここに公開していきます。社内の人も社外の人も読んでください。 ※ターゲットは JavaScript は書いたことない、オブジェクト指向言語プログラマ。 ※信念は「教わるのではなく、必死に着いていきませう」 今週はかなりハードボイルドで全身タイツのような忙しさなので、みんなが春を分けて楽しんでいたり、香港に行って楽しんでいる間にせこせこ資料を作っています。 はぁ。 Section 00 Prototype.js の前に JavaScript と DOM とイベントの概要 HTML は読み込まれた後、すべての情報が JavaScript のオブジェクトに変換される。 イメージ的にはこんな感じ <html> <head> <title>タイトル</title> </head> <body> : : </body> </html>↓↓↓ var document = { doc

    IT戦記 - Prototype.js を使った JavaScript OOP 講座 #02
    nitsuji
    nitsuji 2006/06/07
    ありがたい
  • Prototype.js を使った JavaScript OOP 講座 #01

    社内の精鋭エンジニアを中心に定期的に勉強会をすることになった。んで、 JavaScript の講義は僕がやることになった。 資料を社内だけでとどめておくのはもったいないので、ここに公開していきます。社内の人も社外の人も読んでください。 講義の内容は基的にソース嫁。ソースレビュー形式。 ※ターゲットは JavaScript は書いたことない、オブジェクト指向言語プログラマ。 Section 00 Prototype.js の前に JavaScript のオブジェクトの概要・・・ オブジェクトを作ってみる。 var object = {};オブジェクトにメソッドとかプロパティを追加してみる。 var object = { field: 'IT戦士', method: function() { alert('hello ' + this.field); } }; object.method()

    Prototype.js を使った JavaScript OOP 講座 #01
    nitsuji
    nitsuji 2006/06/07
    ありがたい
  • JavaScript OOP におけるクラス定義方法 - IT戦記

    クラスを定義する方法です。考え付くだけでも、これだけたくさんの方法があります。やっぱり、 JavaScript って柔軟であり複雑な言語ですね。 ちなみに、以下のすべての例はこのクラスを定義しています。 ちなみに、僕は一番下の書き方ですね。 皆さんはどのようにプログラミングしていますか? プロトタイプを使わない。クロージャを使う。 // プロトタイプを使わない。 // クロージャを使う。 function Item(price) { this.showPrice = function() { alert(price); }; } プロトタイプを使わない。クロージャを使わない。 // プロトタイプを使わない。 // クロージャを使わない。 function Item(price) { this.price = price; this.showPrice = function() { aler

    nitsuji
    nitsuji 2006/06/07
    こんなにあるのか
  • Firebug :: Firefox Add-ons

    Firebug 1.2.1 by Joe Hewitt, Justin Dolske, robcee Categories Web Development Firebug integrates with Firefox to put a wealth of development tools at your fingertips while you browse. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page... Firebug 1.2 requires Firefox 2 or 3. 347 reviews Updated September 12, 2008 172,244 weekly downloads 8,436,061 total downloads M

    nitsuji
    nitsuji 2006/06/06
    デバッガ
  • Dean Edwards: Levels of JavaScript Knowledge

    Inspired by Roger Johansson’s Levels of HTML Knowledge: alert("Hello World"); var WORLD = "World"; function hello(who) { alert("Hello " + who); }; hello(WORLD); <button onclick="hello(WORLD)">Say Hello</button> <button id="hello">Say Hello</button> var button = document.all.hello; button.onclick = function() { hello(WORLD); }; var button = document.getElementById("hello"); button.addEventListener(

    nitsuji
    nitsuji 2006/06/05
    addEventListenerなんてあるのか
  • The projects of amix - GreyBox

    nitsuji
    nitsuji 2006/06/02
    pop-up window in a browser window
  • FireBug に JavaScript デバッガが付いて便利すぎる件について - IT戦記

    Firebug を更新したら、またもや凄いことになってました。 まずはこれを見てください。 http://sample.ecmascript.jp/20060526.htm 要は JavaScriptをステップ実行しながら結果を確認できる。 変数の値をウォッチできる。 適当にブレークポイントを貼ってスタックを追えば、他人のサイトを簡単にハックできる。 うれしい!たのしい!こんにちわ! FireBug のインストール https://addons.mozilla.org/extensions/moreinfo.php?application=firefox&id=1843

    FireBug に JavaScript デバッガが付いて便利すぎる件について - IT戦記
    nitsuji
    nitsuji 2006/05/28
    適当にブレークポイントを貼ってスタックを追えば、他人のサイトを簡単にハックできる。
  • Purchase Intent Data for Enterprise Tech Sales and Marketing | TechTarget

    The Partner Marketing Visionaries™ Summit Explores Key Areas Within Strategic Partnerships

    Purchase Intent Data for Enterprise Tech Sales and Marketing | TechTarget
    nitsuji
    nitsuji 2006/05/24
    の紹介