JScript.NET vs ECMA
JScript.NET vs ECMA
我正在编程一个小型控制台应用程序,它是一组参数不正确的批处理文件的智能前端。
我已经决定使用JScript.Net来实现这一点,尽管与C#相比,它可能是不明智的,因为我发现它的灵活性很有用,而且在这种事情上,它感觉比C#更RAD。
我遇到的问题是无法在网上找到足够的资源来展示JScript.net!=ECMA,当它下降到螺母和螺栓水平时。我必须时刻警惕gotchas,而事情的实际实现方式有点令人费解。
有人能很好地链接到这个主题的信息吗?
编辑--
具体地说,我想要一个资源来阻止我写这样的测试——它编译并运行,尽管synax中发生了奇怪的事情:
var int16:Int16=0;
w_(typeof int16); // =number
//w_(int16.getType()); //runtime error function expected
//
var ds:String="dot,net,class";
w_(typeof ds); // =string
var da1:Array=ds.Split(','); // proper case
var da2:Array=ds.split(','); // camel case !works too!
w_(typeof da1); // =object
var ds1_:String=da1.join(',');// NOT proper. "Join" is **runtime error**
var ds2_:String=da2.join(',');// NOT proper. "Join" is **runtime error**
w_('ds1_:'+ds1_); // prints dot,net,class
w_('ds2_:'+ds2_); // prints dot,net,class
//
var js="jscript.object";
w_(typeof js); // =string
var ja1=js.split(','); // camel case
var ja2=js.Split(','); // proper case
w_(typeof ja1); // =object
var js1_=ja1.join(',');// camel
var js2_=ja2.join(',');// camel
w_('js1_:'+js1_); // prints jscript.object
w_('js2_:'+js2_); // prints jscript.object
//
// and then
//
var dss:System.String="dot,net,sys,class";
w_('dss:'+(typeof ds)); // =undefined !!!
//w_('dss:'+dss.getType()); //runtime error function expected
var daa:Array=dss.Split(',');// proper case ???? what is this object type!
var daa2:Array=dss.split(',');// camel case ???? what is this object type!
w_(daa.join(',')); // prints dot,net,sys,class
w_(daa2.join(',')); // prints dot,net,sys,class
//
你看到了吗?
还有
// in library 'package' JLib_Test.jsc
import System;
import System.IO;
import System.Diagnostics;
import System.Text;
import System.Drawing;
package JLib_Test{
class Test{
public function Test(){
//var re=new RegExp('^s$','gi'); // **runtime error** !
}
}
//
// in main 'exe' module
var re=new RegExp('^s$','gi'); // no errors
在Windows上,只需使用cscript.exe
运行.js文件:这是Microsft的Windows脚本主机(WSH)环境,使用其他Microsoft实现(标准Windows 7系统目前在IE9中有3:JScript、JScript.NET和JavaScript)。WSH中的JScript是在IE8之前的IE中使用的,因此可能较少使用.NET语言
请注意,由于.NET和WSH中的API不同,您可能会在I/O和参数解析方面遇到问题,因此我建议制作一个通用的API包装器。
你是说ECMAScript吗?ECMAScript是一种标准脚本语言,由ECMA和JScript.Net是EMCAScript的"实现",它由Microsoft创建(实际上是基于JScript),用于.Net平台。这意味着JScript.Net支持所有ECMAScript规范:http://msdn.microsoft.com/en-us/library/49zhkzs5(v=vs.71).aspx
并且还为用户提供了一些额外的非ECMA功能:http://msdn.microsoft.com/en-us/library/894hfyb4(v=vs.71).aspx
- setInteval vs setTimeout
- $(this).prop('property') vs. this.property
- Js.erb VS按钮标记-不'不起作用.为什么?
- reactjs this.refs vs document.getElementById
- Performance: NaCl vs Emscripten
- 文本表示法VS.构造函数,用于在JavaScript中创建对象
- Advantages to DOMParser vs template & innerHTML
- JavaScript-===vs===运算符性能
- 开发第三方小部件-Angular vs jQuery vs普通的旧JS
- PhantomJS(vs nightwatch.js)设置cookie错误
- 扩展Nashorn-ecma引擎以添加新的运算符和类型
- Javascript events: window.event vs argument reference (funct
- 需要确认我对Servlet vs RESTful网页的理解's的差异
- "#"keyCode=222 vs 51(Chrome与Android版Chrome)-为什么有区别
- .notion vs.[]notation |插入到文本对象中
- Javascript-使用“”将toDateStringMonth从文本字符串解析为数字字符串;如果“;vs“;开关”;
- 没有框架/DLL的VS Web应用程序项目
- Eval vs execscript
- ECMAScript(ECMA-262 5.1)中“引用”的“基值”是什么
- JScript.NET vs ECMA