2007-01-01から1年間の記事一覧

document.scriptsと自分自身が属するscript要素を取得

IE(確か5からある気がす)とOpera(8で確認)は document.scripts というものがあります。これってdocument.getElementsByTagName('script')で取得できる奴と同等(まったく同じではない)です。まぁfxにはないけど…(fxでも対応させられるけど…) <html> <head> <script id="foo"> alert(documen</script></head></html>…

insertAdjacent.js

どっかで見たことあるんですが見つからない…というわけでfxでinsertAdjacent系が利用できるものをつくりました。これ使ってdocument.writeハックするとなんか面白いことできそうです。ちなみにinsertAdjacent系はIEとOperaでは利用可能です。お持ち帰りでお…

java.lang.StringとString.prototypeの関係

命名規則でクラスについては大文字それ以下は小文字というルールを決めているのでPHPとかでいうucfirst関数を書いているのですが型がJavaのjava.lang.StringだとcharAtを利用するとうまく行かないという話。jrunscriptで検証。 String.prototype.ucfirst = f…

文字列連結を素早くするオブジェクト

JavaScriptの文字列連結はすればするほど長くなればなるほど重くなるっていうのは有名な話でどうしても何回も連結せざるを得ない状況(テンプレート処理)では以下のような俺オブジェクトを使って対処してきました。 ただ人間欲が出てくると replace したいと…

JavaScript継承パターンまとめ

プロトタイプ function Animal(){}; Animal.prototype = { sleep : function(){}, walk : function(){ alert('noshi, noshi') } }; function Human(){}; Human.prototype = new Animal(); new Human().walk(); // noshi, noshi もっともポピュラだと思われる…

function hoge.hoge(){ alert('orz...') }

IE専用です。というかこんなんありか!!!wIE(6)では以下の構文もうまくいきます。もちろん,hoge.hogeだったら先に hogeを定義しておこないとうまく行かないです。変なの。 function hoge(){ alert("hoge"); } function hoge.hoge(){ alert("hoge.hoge"); } h…

不思議の国の言語

この前、本屋に立ち読みしていたんですが、その本にECMAScriptのフリガナが【エクマスクリプト】ってうってあってそうだったんだ!と感銘を受けました。イーシーエムエーかと思っていました。 JavaScriptと他の言語(まぁ全ての言語とか比較したわけではない…

Template Engine on JRunScript

JRunScriptでJSmartyする JSmartyとかはDOMなどを利用していないのでDOMがないような環境つまりスパイダーモンキーとかライノーとかでも動くようにすることができます。JSmarty/internals配下にあるsystem.***.jsが各環境用の定義ファイルとなっていてそれを…

0.2.0リリース

2ヶ月ぶりのリリースです。0.2.0にしました。修正子に対応したので以下の記法有効です。しばらくの間、Wikiが動かなかったようです。ご迷惑かけました。新しいものに移行中でデータ消えてます...。修正子プラグイン対応以外はとくに機能追加ないですけど色々…

文字列連結の動作速度の検証

Java6ではJavaScriptを利用できるのは言うまでもないのですがファイルを読込む場合にはjava.langのStringBuilderを利用したら早いか、+=の連結がいいか。自前でつくったほうがいいかの検証。 var text = ''; var buf, BufferedReader = java.io.BufferedRead…