C# JScript.NET与ECMA

C# JScript.NET与ECMA,c#,javascript,.net,command-line,jscript.net,C#,Javascript,.net,Command Line,Jscript.net,我正在编写一个小型控制台应用程序,它是一个智能前端,用于处理一组带有不正常参数的批处理文件 我已经决定使用JScript.Net来实现这一点,尽管与C#相比这可能是不明智的,因为我发现它的灵活性非常有用,而且对于这类事情,它感觉比C#更为强大 我遇到的问题是无法在网上找到足够的资源来显示JScript.net是如何工作的!=达到螺母和螺栓水平时进行ECMA。我必须时刻警惕gotchas,而事情的实际实现方式有点令人费解 有人有关于这个主题的好链接吗 编辑-- 具体地说,我需要一个资源来阻止我编写

我正在编写一个小型控制台应用程序,它是一个智能前端,用于处理一组带有不正常参数的批处理文件

我已经决定使用JScript.Net来实现这一点,尽管与C#相比这可能是不明智的,因为我发现它的灵活性非常有用,而且对于这类事情,它感觉比C#更为强大

我遇到的问题是无法在网上找到足够的资源来显示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
//
看到了吗


你是说ECMAScript吗?ECMAScript是一种标准脚本语言,由ECMA和 Net是EMCAScript的一个“实现”,它是由Microsoft创建的(实际上基于JScript)用于.Net平台。这意味着JScript.Net支持所有ECMAScript规范:

还为用户提供了一些额外的非ECMA功能:

在Windows上,只需使用
cscript.exe运行.js文件即可:这是Microsoft的Windows脚本主机(WSH)环境,它使用其他Microsoft实现(标准Windows 7系统目前有3个:JScript、JScript.NET和IE9中的JavaScript)。WSH中的JScript是IE8之前在IE中使用的脚本,因此可能具有较少的.NET ISM


请注意,由于.NET和WSH中的API不同,您可能会在I/O和参数解析方面遇到问题,因此我建议制作一个通用的API包装器。

我感谢您的输入,但实际上--我之所以这样做是因为一个原因,而这并不是因为我找不到有关我已经告诉您我正在使用的语言的信息。。。。在MSDN上。我去过那里,邓尼。对不起,听起来很刺耳,但说真的?我在寻找从这个环境的经验中得出的实际问题,而不是它在shrink-wrap.JScript.NET下所说的过时问题。要找到关于它的资源将会越来越难。我不会在这上面开始任何新的发展。
// 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