JavaScript

javascript-mode から js2-mode へ移行

javascript-mode の挙動がおかしくなってたから直そうとしたんだけど いい機会だからまた js2-mode を試してみた。 そしたらいい感じだったので今度こそ乗り換えることにした。 js2-modeを使いやすくする - speg03の日記が分かりやすくまとまっていて大変助…

ローカルで prototype.js をいじる

WSHでDOM (Shibuya.js in Kyoto) - てっく煮ブログを見て 「そうか。こうすれば WSH では prototype.js が使えるのか」と思い 僕もローカルの SpiderMonkey で prototype.js をコンパイル*1できるようにしてみた。 でも、にとよんさんのように DOM には対応…

Mozrepl で prototype.js をいじる

repl.enter(content.wrappedJSObject) を実行すれば普通に「$」とかにアクセスできるようになることが分かった。 このコマンドは Firefox3 用のもので、Firefox2 では代わりに repl.enter(content)とすればいけるらしい。 例えばprototype.js の公式ページに…

prototype.js を読んでいる

Minibuffer を読もうとしたら prototype.js の方が気になってきたわな。 prototype.js は JavaScript に詳しい人は みんな当たり前のように読んでいる印象があるので 僕も一度はちゃんと目を通しておきたいと思った。 参考にしているのは以下の2つの連載。 …

length は配列の要素数ではなく「インデックス最大値 + 1」を表す

JavaScript配列のlengthプロパティは「配列にどれだけ値が格納されているか」を表すものではありません。結論を言うとlengthプロパティは、「インデックス最大値 + 1」を表す値で自動的に更新される特殊なプロパティなのです。 JavaScriptの配列をも〜っと深…

配列を for で回すときは length を何度も参照すると遅い

JavaScripter な人たちには大分前から周知のことだけど 以下のスクリプトでどのくらい違うのかちょっと見てみた。 var bench = function(func) { var start = (new Date()).getTime(); func(); var end = (new Date()).getTime(); console.log(end - start);…

カラーピッカーを作ってみる

はてなハイクのパレットを変更するグリモン - gan2 の Ruby 勉強日記でパレットのデータを作るのに ハイクで色を置いてからColorZilla :: Firefox Add-onsを使って色情報を取得してそれをコピペして ってやって作っていたのだけどこのやり方は普通にめんどく…

js2-mode の設定をちょっといじった

Emacs で JavaScript を書くを参考にして少し設定を追加した。 ;;; js2-mode ;; エラーの判定処理が気になる (autoload 'js2-mode "js2" nil t) (add-to-list 'auto-mode-alist '("\\.js$" . js2-mode)) (add-hook 'js2-mode-hook '(lambda () (setq js2-bou…

for の後ろに if をつける書き方

こんな書き方ができるのを知った for (var i = 0; i < 10; i++) if (i % 2 == 0) { print(i); } これは以下と同じ for (var i = 0; i < 10; i++) { if (i % 2 == 0) print(i); } 例をもう1つ。 これは for (var k in attr) if (attr.hasOwnProperty(k)) { …

jQuery を久しぶりに使った

自分用のメモ。 jQuery Form Pluginが便利そうなので使ってみた。 使い方はCode Smaplesの説明が分かりやすい。 ローカルだと問題なく動かせて快適だったのだけど land.to だと返ってくる文字列に広告のタグとかが入ってきてすごい邪魔…。 jQuery.ajax だと…

コンストラクタがよく分からなくなりました

http://blog.xole.net/article.php?id=640を読みました。 そして実際に手を動かしながら理解しようと試みました。 でもどうしても納得できないところが1つ残ってしまいました。 以下は納得できないところを抜粋したもので コンストラクタの説明に使われてい…

js コマンドでコンパイルができるようになった

前に手に入れた js.exe のおかげです。 ん?でもコンパイルではない?か。 まあいいや。とにかくちょっとしたことを試したいときに $ js test.js って感じでコマンドから確認できるようになりました。 Firebug よりも楽チンですね。 window オブジェクトとか…

カレンダー生成

404 Blog Not Found:javascript - カレンダーを作るのソースを JavaScriptの勉強がてら読んでみることにしました。 ネタ元のネタ元*1はエロと風俗情報満載 どう抜く?だったので、 danさんのソースを読む前にまず自分もRubyで書いてみることにしました。 で…

JavaScriptモードで対応する括弧を自動挿入する設定

( を入力したときに () としたり、 { を入力したときに {} が自動的に挿入されるようにする設定。 要parenthesis.el 僕の.emacsから該当箇所はこんな感じ。 ;;; 対応する括弧を自動挿入する ;; http://d.hatena.ne.jp/khiker/20071031/elisp_parenthis (requ…

SpiderMonkey と flymake を使って Meadow 上で JavaScript のシンタックスエラーを検出する

タイトル長いな。。 とりあえずできたみたいなので手順をメモしておく。 なお以下の操作は全て Meadow の eshell でやってます。 $ wget ftp://ftp.mozilla.org/pub/js/js-1.7.0.tar.gz $ tar xvzf js-1.7.0.tar.gz $ cd js/src $ make -f Makefile.ref OS_A…

jQueryの勉強で役立ったサイトのメモ

jQuery を使って Ajax 開発を単純化する IBMの記事。jQueryでどんなことができるのかを、具体例とともに詳しく解説している。参考文献で紹介されているサイトもいい感じ。 Index of /demos jQueryのライブラリInterfaceのデモがある。デモを見ながらFirebug…

「JavaScript でタブ切り替え UI を実装する」を改良してみた

JavaScript でタブ切り替え UI を実装する | WWW WATCH で紹介されているスクリプトは、 軽いし、ソースも読みやすいしでとても便利。 気になること でも、ちょっと気になることが2つある。 タブが増やしたいときに、スクリプトに自分でセットアップ用のコー…

JavaScriptの逆引きリファレンス3つ

Ajaxなライブラリは別にして、 JavaScriptの基本的な使い方を調べるには、 この3つがあれば十分のような気がする。 JavaScript逆引きクイックリファレンス JavaScript逆引きクイックリファレンスfor Windows & Macintoshのサンプル掲載ページ。ぶっちゃけこ…

jQuery が面白いかも

以下は自分が後で見直すためのリンク集 jQuery 開発者向けメモ 日本語だし、書き方を学ぶにはここが一番分かりやすいと思う jQuery Docs - 1.1.2 API ちょっとした使い方はこれで分かるけど、もう少し具体的な使い方の紹介も欲しいなぁ http://d.hatena.ne.j…

イベントハンドラの一覧

イベントハンドラ とほほさんのページ。 onclickでalertを呼び出すと、 ほんとにクリックする度にメッセージボックスが出てきてちょっと大変。 ちょっとしたブラクラだよ。。

エレメントのスタイルを書き換えるときは style.cssText が便利

http://d.hatena.ne.jp/amachang/20070730/1185788557 cssText っていいうのは CSSRule オブジェクトとか CSSStyleDeclaration が持っている情報を css ファイルに書く形式の文字列にしてくれる機能です。乱暴に言ってしまえば、 css 系のオブジェクトが持っ…

JavaScirpt が扱える主なイベント

よく使いそうなのでメモ。 Part1 JavaScript基礎の基礎(2ページ目) | 日経 xTECH(クロステック) 対象 イベント名 意味 マウス関係 onMouseover ポインタが上に乗った onMouseout ポインタが領域から外れた onMousemove ポインタが動いた onClick ボタン…

JavaScript の行末には ; はいらないらしい

ということに、AutoPagerizeのソースを読んでいて気付く。 Rubyといっしょじゃん。 全然知らなかったよ( ´・ω・`)

javascript.elを別のに乗り換えた

Meadow に JavaScript メジャーモードを追加する - WebOS Goodiesで紹介されていたjavascript.elに乗り換えた。 そしたら以前から気にかけていたインデントの問題が解消された。 いやっほー☆-ヽ(*´∀`)八(´∀`*)ノ ついでにcss-modeも乗り換えた。 以下が具…

選択した文字でgoo辞書を引けるGreaseMonkey

goo辞書 - 国語・英語・四字熟語のオンライン辞書 ここ3日くらいずっと格闘していて、ようやくできた。 JavaScriptもGreaseMonkeyもほとんど分からない状態からはじめたので、 えらい時間がかかってしまった。 でもその甲斐あってか、けっこう使えるものが…

GreaseMonkey を勉強したときに参考にしたサイト

昨日は結局やりきれない気持ちのまま寝ちゃったわけだけど、 書いたままのスクリプトとは、また近いうちに再戦することになると思うので、 忘れないようにメモを残しておく。 今度は覚えてろよこんにゃろめ(^ω^#)ビキビキ Introduction to using XPath in …

GreaseMonkey のカテゴリがあってもいいかもね

ってくらいGreaseMonkeyのネタが続いてる。 そういえばRuby全然書いてねぇーーっ これじゃgan2のRuby日記じゃないじゃん。。(;´・ω・`) 追記 GreaseMonkeyのカテゴリ作ったよ!

GreaseMonkey を頻繁にいじる人にお勧めの設定

http://lowreal.net/2006/shibuya-js-2-lt ↑に紹介されている方法がとても便利。 特にエディタの設定は目から鱗って感じ。 Firefoxのアドレスバー(Ctrl + l で飛べる)に、about:config と入力。 新規作成 > 文字列「greasemonkey.editor」 値にエディタの…

自作 GreaseMonkey を作ろうとして

もう今日はずっと JavaScriptいじってる。 でもうまくいかない・・・。 今納得のいかないバグと戦ってる。 以下、普通にタグを書くと表示されないので、 スーパープレで書いておく。 正規表現で、<div class="mainlst"> にマッチさせたいのだけど、 </div>

javascript.elの導入

javascript.elをゲットしてきて、site-lispに置く。 そして以下を.emacsに追加すればOK。 ;;; javascript-mode の設定 (add-to-list 'auto-mode-alist (cons "\\.\\(js\\|as\\|json\\|jsn\\)\\'" 'javascript-mode)) (autoload 'javascript-mode "javascript…