在c/c++中也有个YC_jsRun()函数,它们都是执行Javascript代码的函数,但执行环境不同,参数和返回值也不同。
var t1 = new Date();
document.write(t1.valueOf());
document.write("<br>\n");
document.write(t1);
document.write("<br>\n");
(function (pnum)
{
var res = 7
for(var ii=0.2; ii<pnum; ii+=1.001)
{
res += Math.tan(ii)
res += Math.sin(ii)
res += Math.cos(ii);
}
document.write(res); document.write("<br>\n")
document.write(ii); document.write("<br>\n")
})(1999999.5)
var oneval = Math.PI + Math.tan(Math.PI/4);
function getdate(str)
{
document.write(`${str} <br>` );
return `日期: ${ new Date().toLocaleDateString() }\n` +
`时间: ${ new Date().toLocaleTimeString() }\n`
}
document.write(`${new Date() - t1} ms <br>\n`);
被Javascript代码调用的Javascript文件:day.js
YC_jsRun("day.js") //执行Javascript文件: day.js
let pstr = sprintf("\n浮点数: %.15f <br>\n",oneval) //显示day.js变量oneval
pstr += sprintf("%s",getdate(`\
前不见古人,
后不见来者。
念天地之悠悠,
独怆然而涕下。`)) //执行day.js函数: getdate()
printf(pstr)
YC_writefile("pp.js0",pstr) //将文本pstr写入文件: pp.js0
let qstr = `<hr>----以下为读文件pp.js0内容---<br>\n` + YC_readfile("pp.js0")
printf(qstr)
Javascript代码文件:take.js
编译:用YC命令: ycc take.js 生成 take.exe
运行:在cmd界面执行take.exe后,输出下列文字:
1581246654409<br>
Sun Feb 09 2020 19:10:54 GMT+0800<br>
-1469141.3070326578<br>
2000000.201955311<br>
297 ms <br>
前不见古人,
后不见来者。
念天地之悠悠,
独怆然而涕下。 <br>
浮点数: 4.141592653589793 <br>
日期: 2020年2月9日
时间: 19:10:54
<hr>----以下为读文件pp.js0内容---<br>
浮点数: 4.141592653589793 <br>
日期: 2020年2月9日
时间: 19:10:54
也可以用HTML来执行day.js文件,代码为:
<script src=day.js>
</script>
HTML代码文件:take.htm
在Chrome浏览器中调入take.htm,显示如下:
1581247095570
Sun Feb 09 2020 19:18:15 GMT+0800 (中国标准时间)
-1469141.3152430512
2000000.201955311
329 ms
可以看到用Chrome执行day.js,用时329ms。
在Firefox浏览器中调入take.htm,显示如下:
1581247633659
Sun Feb 09 2020 19:27:13 GMT+0800
-1469141.3070326643
2000000.201955311
287 ms
可以看到用Firefox执行day.js,用时287ms。
用YC编译器命令: ycc day.js 生成day.exe,执行day.exe后,显示下列文本:
1581247338512<br>
Sun Feb 09 2020 19:22:18 GMT+0800<br>
-1469141.3070326578<br>
2000000.201955311<br>
281 ms <br>
可以看到day.exe执行完毕后,用时281ms。