Mozilla rhnio: 那些全局函数

在研究jrunscript命令,刚接触,概念模糊,被一个sample搞迷糊了。
这个print是个什么东西呢?javascript没有这方法阿!!! 难道是import static这类的?

jrunscript -"print('hello world')"

那就打印出来看看

jrunscript.bat (帮助测试的脚本)

@echo off
:: 在jvm上运行javascript
::
 %* 表示全部的命令参数
%JAVA_HOME%\bin\jrunscript.exe -l js -f rhnio.js %*
pause

 
rhnio.js (准备在JVM上运行的js)

// 打印命令参数
for each(var arg in arguments){
    println(arg);
}

// 引入Class
importClass(java.lang.System);
println(java.lang.System.currentTimeMillis());
println(System.currentTimeMillis());

// 没有引入
try{
    
var sb = new StringBuilder();
}
catch(e){
    println(e);
}

// 引入package
importPackage(java.lang)
var sb = new StringBuilder();
sb.append(
"is ")
sb.append(
"String");
sb.append(
"Builder")
println(sb);

// 打印指定的函数体
//
println(cat)
println(println)
println(print)
println(context)

// 打印全局函数    
for(var name in this){
    
// printGlobal(name,this);
}

// 打印全局函数列表
for(var f in this){
    
//println(f);
}

// helper
function printGlobal(name,ref){
    print(
'**************************')
    print(f);
    println(
'**************************')
    println(ref[f])
}

 

红字标注部分的的输出

function println(str) {
    print(str, 
true);
}


function print(str, newline) {
    
if (typeof (str) == "undefined") {
        str 
= "undefined";
    } 
else {
        
if (str == null) {
            str 
= "null";
        }
    }
    
var out = context.getWriter();
    out.print(String(str));
    
if (newline) {
        out.print(
"\n");
    }
    out.flush();
}

javax.script.SimpleScriptContext@
253498


这样,一下子清楚了。
printlen是对SimpleScriptContext进行包装的帮助方法。此外,还发现了大批的全局函数和导入的包,光看名字就透着实用...

XMLResult
echo
arg
javax.script.argv
javax.script.filename
println
inStream
dirname
XMLDocument
inp
engine
mkdirs
rmdir
streamClose
exit
cp
JSInvoker
jlist
curDir
load
exec
printFile
cd
cat
rm
ls
XMLSource
date
outStream
quit
grep
dir
javaByteArray
read
del
find
f
printf
File
mv
mkdir
env
print
ip
sysProps
pwd
months
arguments
which
pathToFile
XSLTransform
context
err
jmap
ren
out
org
edu
System
javax
com
ne

 

 

 

 

posted @ 2011-08-01 21:13  倚楼无语F5  阅读(230)  评论(0编辑  收藏  举报