javascript始めました。

理由

greasemonkeyが使いたかったのです。
でも、javascriptの文法がよくわかりません。
javascriptの文法自体を覚える必要がありそうです。
めんどくさがりなので、
保存->ブラウザに移動->再読み込み(f5)
なんて耐えられません。

そこで、これから探すもの(と現在の進歩状況)

現在の進歩状況はこんな感じです。

  • irbみたいな簡易実行環境
  • できれば、emacsで使いたい。(色がついていて欲しい)
    • ecmascript-mode
    • (rubyの設定などを元に色々いじればうまくいくかも?)
  • irb/completionのような補完機能が欲しい。
    • まだ、見つけていない。
  • ri,refeのようなリファレンスが欲しい

irbみたいな環境の構築(ubuntu)

これは簡単

sudo apt-get install spidermonkey-bin

#ただし、「js」もしくは「smjs」で呼ぶみたいです。

emacsjavascript(emacsからの実行もできたかも?)

ここ>http://www.emacswiki.org/cgi-bin/wiki/ECMAScriptMode
から(ecmascrpit-mode.el)をダウンロードしてきて、以下の用に.emacsを記述します。
(いろんな所の.emacsを参考にあれこれ弄った結果なので、何かおかしな所があるかもしれません)

(add-to-list 'load-path "~/box/data/site-lisp/el")
                  ;;elディレクトリにecmascript-mode.elを入れてます。
;;EcmaScript Mode
(defun ecmascript-eval-buffer () (interactive)
"Evaluate the buffer with ecmascript."
(shell-command-on-region (point-min) (point-max) "smjs"))

(defun my-ecmascript-mode-hook ()
(font-lock-mode t)
;;(setq standard-indent 3) ;;インデントって3?
;;(pabbrev-mode t)
(define-key ecmascript-mode-map "\C-c@" 'ecmascript-eval-buffer))
                                 ;;C-c@でバッファ内のコードが評価されます。
(add-hook 'ecmascript-mode-hook 'my-ecmascript-mode-hook)

(autoload 'ecmascript-mode "ecmascript-mode" "ECMAScript" t)
(setq auto-mode-alist
      (append '(("\\.js$" . ecmascript-mode))
              auto-mode-alist))

このような設定を行うと,
emacsで、適当な名前(例えば”test.js”など)のファイルを開くと、自動的に"ecmascript-mode"にかわります。
また、コードを記入してからC-c@を入力すると、バッファ内のコードの実行結果を表示してくれます。

これから調べること

  • jsの便利なリファレンス
  • jsのふつうのインデントの数
  • 補完の方法
  • その他便利なもの

最後に

「print "test";」と書いてSyntaxErrorになったことにびっくりしたりしたことはひみつです。
この環境でjavascriptの文法に慣れたらfirebugに移行しようと思います。