javascript

JavaScriptでNode.JS/ブラウザ上で動くArc処理系を作った。

去年の夏ぐらいに、NodeJS/ブラウザ上で動くArc言語*1処理系「ArcJS」を作りました。 全体として2500行ぐらいでStackVMまで実装してあるので、処理系を作りたい人は参考になるかもしれません。http://smihica.github.io/arc-js/既に実際に仕事で部分的に使っ…

jshintでjavascriptコードチェックしながら開発する

最近はjavascriptを書いています。 javascriptとしてはそれなりに大規模になってきました(2万行ぐらい?)。 最近のjavascriptトレンドのやり方は、コードチェッカを通して、信頼性を向上させるのがプロ技らしいです。 僕も早くプロの仲間に入りたいです。…

javascript中でのHTML表現。

javascriptで動的なUI等を書くと、どうしてもネックになるのが、HTMLノードの表現、その整理法だ。少なくとも私はそうだ。 pagmo書いていたときなど、コードのかなりの量をHTMLノードの記述に使っている。 しかし本質的には重要なコードではないので、なるべ…

javascriptで継続

業務で、wysiwygエディタを書くことになったんだけど、iframeのcontentWindow.documentには iframeノード生成時にはアクセスできない。HTMLドキュメントに書き込んでからアクセス可能となるようだ。 var id = get_uniq_id(); var textarea = convert_to_html…

javascriptでqwikのパーサ

基本構造はできた。 http://www.beppers.jp/~aoyama/qw/template/ firefoxのみで動作確認。 最終的な目標はgreasemonkeyにして、 qwikにプレビューとその場編集をつける。 あとその場プレゼンもつくってプレゼンツールとしたい。

javascriptでqwikのパーサ

を木曜ぐらいから書いてるんだけど、ちょっとはまった。 ("")?true:false; -> false ("" == null)?true:false; -> false ("" == false)?true:false; -> true なんだって! 怪しいときは、同値演算子を使うか、typeofを使うか、instanceof等を使うべきだった。

改行が残る件

javascriptでformで入力されたの文の改行文字を<br/>に変換していたんだけど、 以下のコードはメインのmacのfirefox2では上手くいっていたが、それ以外では改行が残ってエラーになった。 msg.replace(/\n/g,'<br/>'); alert(msg); /* form中身 foo bar baz 実行結果↓ f</br/></br/>…

pagmoのtimer関数

javascriptでtimerを濫立させると、firefoxで処理落ちが発生することがあります その問題はtimerはひとつにまとめると解決しました (解決したというより、処理は遅くなるが、処理落ちは発生しにくくなりました) PAGMOでは以下のように書いたものを使っていま…

pagmoのオブジェクトが画面外にはみ出る

pagmoの新機能を実装していてちょっと考えたので主に自分用として書いておく。 (調べてもいいとこが出てこなかったため自分でやってみた) javascriptでdomをいじってページ上に動かせるオブジェクトとかをおくと、 画面外にはみ出したときにスクロールバーが…

JSDB

というのを見つけた http://www.jsdb.org/ これはおもしろい、jsでdb接続やサーバがかけるというもの。 spider monkey の拡張らしい。 結構前からあるらしい、jsでサーバも書けるのはいい。 色々いじってみたけど、普通にhttpサーバが動く、しかも俺でもわか…