JavaScript

TitaniumのViewに加えたメソッドでsetで始まるメソッドはコールされない

以下のようにViewに対して追加したメソッドのうち、小文字のsetで始まるメソッドは何故かコールされない。 関数 var view = Ti.UI.createView(); view.setHoge = function( ){ alert('setHoge'); } view.SetHoge = function( ){ alert('SetHoge'); } view.ho…

TitaniumにてViewを継承したクラスを作る

TitaniumではViewの生成は Ti.UI.create~~という専用のメソッドを使うため、prototypeを使った継承などが使えません*1。ただ用途ごとにViewを継承したクラスを定義していきたかったので、ぱっと見継承したっぽく見せかけるメソッドを用意してみました。 関数…

オブジェクト指向な大規模JS開発とかに便利なクラス定義JS(ネームスペースとpublic,private分離)作ってみたよ

(2009/3/6)バグを調整オブジェクト指向な大規模JS開発とかに便利なクラス定義JS(ネームスペースとpublic,private分離)作ってみたよ 複数人が書くと、結構みんなばらばらの書き方になっちゃうし。 特徴は ネームスペース定義できる privateとpublicの分離 …

JS用イベントドリブン実装に必須EventDispatcher作ったよ(this固定機能付)

必要になったので作ってみた。 this固定してdispatchできるよ! ちゃちゃっとさっき作ったばっかなので、ほとんどテストしてません・・・ 多分平気! とりあえずFireFoxで必要だったのでIEとかでは動かしてもないので動かないかも。 Class.create();の部分だ…

とりあえずWiiでキーイベントとってみたよ

インターネットチャンネル向けのウェブページを作りたいのですが…。ってあったからとりあえずちゃちゃっとキーのイベント+ちょっとだけ触ってみたよ まだ途中だけど経過。やっぱりおもちゃが増えると嬉しいね。 リスナーの削除とかつけて、リスナーのコール…

型によって動作を分ける分ける

型のゆるいスクリプト言語ですが時には型によって動作を変えたい場合も多いと思います id:toytools:20070407 「PHP5でオブジェクトダンプ可能なデバッガ」で使っているテクニックですが switch( true ){ //STRING case is_string($mixedValue): break; //INT…

無駄なループを省くテクニック

非同期通信でサーバー側で生成したデータを取得する場合、JSONであってもXMLであってもリストとオブジェクト構造をもつ場合が多いと思います 例えば [ { id:2000 , value:'hoge0' }, { id:1000 , value:'hoge1' }, { id:1200 , value:'hoge2' } ...... ] と…

ECMA初心者のためのスコープ講座+コールバック

スコープ JSやASなどのECMAスクリプトの言語として非常に強い点として匿名関数があります ただしスコープが直感的でないので注意が必要です ActionScript2というのをカテゴリーに含めていますが、AS2以降ではかなり体系化したクラスを作成することが可能なの…

JavaScriptでの開発の可読性を高める

これがベストプラクティスという訳ではありませんが、 JavaScriptで開発する際に可読性を高めるいくつかのポイントを示します。 ネームスペースを分ける クラス(prototype)を作るだけでなく、きちんとネームスペースを分けてパッケージを切りましょう。 た…