2012-01-14 3 views
2

Я программирую небольшое консольное приложение, которое является интеллектуальным интерфейсом для набора пакетных файлов с нечестивыми параметрами.JScript.NET vs ECMA

Я решил использовать JScript.Net для этого, хотя он может быть плохо информирован по сравнению с C#, потому что я нахожу его гибким, и он чувствует себя немного более RAD, чем 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, просто запустите ваш файл .js с cscript.exe: это является средой Windows Scripting Host (WSH) от Microsft, которая использует другую реализацию Microsoft (стандартная система Windows 7 имеет в настоящее время 3: JScript, JScript.NET и JavaScript в IE9). JScript из WSH - это тот, который использовался в IE до IE8, и поэтому, вероятно, меньше .NET-измов.

Обратите внимание, что у вас могут возникнуть проблемы с анализом ввода-вывода и аргументов, поскольку API в .NET и WSH отличается, поэтому я предлагаю создать общую оболочку API.

-1

ли вы имеете в виду ECMAScript? ECMAScript - стандартный язык сценариев, стандартизованный ECMA и JScript.Net - это «реализация» EMCAScript, который был создан Microsoft (фактически на основе JScript), который будет использоваться на платформе .NET. Это означает, что JScript.Net поддерживает все ECMAScript характеристики: http://msdn.microsoft.com/en-us/library/49zhkzs5(v=vs.71).aspx

, а также предоставляет пользователям с некоторыми дополнительными Non-ECMA особенности: http://msdn.microsoft.com/en-us/library/894hfyb4(v=vs.71).aspx

+3

Я ценю ваш вход, но на самом деле - я нахожусь по-разному, и эта причина - это не то, что я не могу найти информацию о языке, о котором я уже говорил, что я программирую в ... на MSDN. Был там, dunnit. Извините, что звучит snarky, но серьезно? Я ищу практические gotchas, полученные из опыта об этой среде, а не то, что он говорит под термоусадочной пленкой. –

Смежные вопросы