JS EvaluateScript
出典: MDC
スクリプトのコンパイルおよび実行を行います。
[編集] 構文
JSBool JS_EvaluateScript(JSContext *cx, JSObject *obj, const char *src, uintN length, const char *filename, uintN lineno, jsval *rval); JSBool JS_EvaluateUCScript(JSContext *cx, JSObject *obj, const jschar *src, uintN length, const char *filename, uintN lineno, jsval *rval);
| Name | Type | Description |
|---|---|---|
cx |
JSContext * |
スクリプトを実行するコンテキスト
リクエストが必要。 ( |
obj |
JSObject * |
スクリプトと関連付けるオブジェクト |
src |
const char * or const jschar * |
コンパイル・実行対象となるスクリプト文字列 |
length |
size_t |
srcの文字列長 |
filename |
const char * |
エラーメッセージ出力に利用されるスクリプトのファイル名またはそのURLを示す文字列。 |
lineno |
uintN |
エラー発生時に出力される行数 |
rval |
jsval * |
実行結果の出力先。実行に成功したとき、*rvalにはスクリプトの最終行の実行結果の値が格納されます。 |
[編集] 説明
JS_EvaluateScriptは、オブジェクトobjに結合する形でスクリプトをコンパイル・実行する関数です。実行が成功したとき、rvalにスクリプトの最終行の実行結果の値へのポインタが格納されています。この関数のUnicode版として、JS_EvaluateUCScriptが用意されています。
srcはスクリプト文字列、lengthはその文字列の長さをそれぞれ引数として取ります。
filenameはスクリプトの位置を示すファイル名またはURLを引数として取ります。ここで指定した情報は、コンパイルエラーが発生したときのエラーメッセージに利用されます。linenoも同様にエラーメッセージとして出力される行番号として利用されます。
スクリプトのコンパイルと実行が成功したとき、JS_EvaluateScriptおよびJS_EvaluateUCScriptはJS_TRUEを、失敗したときはJS_FALSEをそれぞれ返します。コンパイル・実行に失敗したとき、*rvalの値は未定義とみなす必要があります。
[編集] 関連項目
LXR で JS_EvaluateScript を ID 検索
LXR で JS_EvaluateUCScript を ID 検索
JS_CompileFile, JS_CompileScript, JS_DecompileScript, JS_DestroyScript, JS_EvaluateScriptForPrincipals, JS_ExecuteScript