2012-01-14 4 views
2

私は、不敬なパラメータを持つバッチファイルのセットに対するインテリジェントなフロントエンドである小さなコンソールアプリケーションをプログラミングしています。JScript.NET vs ECMA

私はこれにJScript.Netを使用することに決めました。しかし、C#と比較して賢明ではないかもしれません。なぜなら、私はその柔軟性を見出しているからです。

私が持っている問題は、ネット上で、JScript.Net!= ECMAがナットとボルトのレベルに達したときの状態を示す適切なリソースを見つけることができないことです。私は、問題を常に警戒しなければなりません。実際にどのように実装されているかはちょっと困惑しています。

誰にもこのテーマに関する情報へのリンクがありますか?

Edit--

具体的には、私はこのようなテストを書くから私を停止しますリソースたい - 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 
+3

JScript.NETは廃止されました。それについての情報を見つけることはますます難しくなります。私はそれについて新たな開発を開始しないだろう。 –

答えて

2

あなたがWindows上であるため、単にcscript.exeでファイルあなたの.jsを実行します。この他のマイクロソフトの実装を使用するMicrosftのWindows Scripting Host(WSH)環境です(標準のWindows 7システムでは現在IE9のJScript、JScript.NET、JavaScriptが3つあります)。 WSHのJScriptは、IE8までIEで使用されていたもので、おそらく.NET-ismsは少ないでしょう。

.NETとWSHのAPIが異なるため、I/Oと引数の解析に問題がある可能性があるので、一般的なAPIラッパーを作成することをお勧めします。

-1

あなたはECMAScriptの意味ですか? ECMAScriptは標準のスクリプト言語であり、ECMAで標準化されています。 JScript.Netは、.Netプラットフォームで使用されるMicrosoft(実際はJScriptをベースにしています)によって作成されたEMCAScriptの「実装」です。それは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

+3

私はあなたの意見を高く評価しますが、実際には私は理由があります。その理由は、MSDNでプログラミングしている言語についての情報を見つけることができない*ではありません。そこには、ダニーニット。 snarkyが真剣に聞こえて申し訳ありません? 私はこの環境についての経験から得た実用的なものを探しています。シュリンクラップの下でのことではありません。 –

関連する問題