我感兴趣的是一种将字符串写入标准输出的可移植方式,没有添加到最后的隐式换行符,理想情况下强制编码为UTF-8,适用于
我当前的代码尝试检测它的运行位置,然后使用特定于平台的写入方法:
if (typeof process !== "undefined") { // assume node.js
var log = function(string) {process.stdout.write(string);};
}
else if (typeof println == "undefined") { // assume rhino
var log = function(string) {java.lang.System.out.write(java.lang.String(string).getBytes("utf-8"));};
}
else { // assume jrunscript
var log = function(string) {java.lang.System.out.print(string);};
}
log("X");
log("Y");
应该导致:
XY
这可以做得更好吗?
对于jrunscript,我一直在使用函数print
,但是代表JDK-8021773改变了它在JDK-8中的行为。
答案 0 :(得分:3)
我对一种可移植的写作方式感兴趣 字符串到标准输出,没有添加到最后的隐式换行符,理想情况下强制 编码为UTF-8,适用于......
没有,因为javascript没有"系统apis"。 JS核心是有限的,你需要使用javascript引擎运行的环境中的api。
我当前的代码尝试检测它的运行位置,然后使用a 特定于平台的写入方法。但我宁愿摆脱它。
这是你唯一可以做的事情。
编辑:javascript规范在这里:http://es5.github.io/它简短,标准输出或标准输入有0个概念,因为没有javascript标准库。