2007-12-01から1ヶ月間の記事一覧
JavaとJavaScript の String は異なる。Java の String は java.lang.String 型のインスタンスなので、そのクラス定義されたメソッドを持つのに対し JavaScript の String には String.prototype で定義されたメソッドがある。 よく間違えられるのは length …
Rhino に Java 配列を作成する特別な構文はない。 Java 配列を作成するにはjava.lang.reflect.Array のクラスを使用する。以下では 5個のJavaストリングの配列を作成している: js> a = java.lang.reflect.Array.newInstance(java.lang.String, 5); [Ljava.la…
先の Runnable の例や、様々なイベントリスナーを実装する際、メソッド1つだけのインタフェースを実装する必要がある。 そのようなインタフェースが予想されるとき、Rhino は JavaScript function を pass する。 function はインタフェースメソッドの実装と…
前セクションでは Javaインタフェースと共に new 句を使って JavaAdapter を作成したが、この方法では複数のインタフェースを実装できず、非抽象(non-abstract)クラスを拡張できない。この問題を解決するには JavaAdapter コンストラクタを使う。※ 抽象クラ…
Java のクラスにアクセスし、Java オブジェクトを作成し、それらオブジェクトのフィールド、メソッド、およびプロパティを参照することで多くの機能を直ちに利用できる。 しかし Java の多くの API で、クライアントに実装を委ねるインタフェースを提供して…
Java のクラスにアクセスできれば、次の課題はオブジェクトの作成である。これは Java の new のように働く。 js> new java.util.Date() Wed Dec 05 14:12:54 JST 2007JavaScript 変数に格納した新しいオブジェクトを call メソッドで呼ぶことができる。 js>…
引数の型に基づき、呼び出すメソッドを決定するプロセスをオーバーロード解決と言う。 Javaでは、オーバーロード解決をコンパイル時に行うが、Rhino ではランタイム実行中に行う。動的な JavaScript では変数の型は実行時まで判らないので、オーバーロード解…
Java の code は class の一部で、Java class は package の一部だ。つまり Java の code は必ず何れかの package に含まれる。一方 JavaScript では script はあらゆる package の外にも存在する。 ・JavaScriptからJavaパッケージの中のクラスにアクセスす…
Java スクリプトプログラマーズガイド Scripting Java 上記サイトの内容を適当に訳しつつ、一部再構成。Accessing Java packages and classes - himorogiの日記 Working with Java objects - himorogiの日記 Calling overloaded methods - himorogiの日記 Im…
□引数の参照jrunscript - コマンド行スクリプトシェル スクリプト引数を指定してスクリプトファイルを実行する jrunscript test.js arg1 arg2 arg3この arg1,arg2,arg3 はスクリプトからそれぞれ arguments[0],arguments[1],arguments[2] として参照できる。…
□Javascript にはブロックスコープが無いという話。 404 Blog Not Found LLいろいろ、スコープいろいろ■Javascript ではブロックスコープはないが、with + JSON で実行コンテキストを制御できるという話。 Days on the Moon JavaScript でブロックスコープを…