JScript.NET (JScript 8.0) 编程入门
1.JScript.NET现在是编译型,强类型语言。
编译器位于.NET 2.0目录中(通常位于
%SystemRoot%\Microsoft.NET\FrameWork\v2.0.50727
)中包含js.net编译器(assembler),可以将JScript编译为.dll库(通过jsc /t:library)或者WinForm可执行文件(jsc /t:winexe)或者WinConsole控制台程序(不指定target或者jsc /t:exe)。
变量可以指定类型,也可以不指定。但是一旦指定类型,变量则为强类型,不同类型的变量不能随意赋值。(类型现在符合ECMA标准,行为类似ActionScript)。指定类型的方式和AS语言一样
var variable:type = initial_Value;
编译时引用dll的方法是
jsc /t:exe /r:System.dll demo.js
(例子中引用了System.dll)
2.新的组织形式
package,import(既不是Imports也不是using)语句现在可以使用.可以定义简单的包。
下面是一个获取运行时的命令行参数的例子(Args[0]总是存在,并且等于程序的名字)
import System;import System.Enviroment;
import System.IO;
import System.Form;
import System.Threading;package tool{class cmd{public function getArgs():String[]{return Args:String[] = Environment.GetCommandLineArgs();}}}
3.面向对象
现在相比JScript多了很多可用的修饰符.static,public,private在类内都可用.class,extends,interface,implements,override,abstract等也都实现了。
抽象,接口,重载也都得到了实现。JScript.NET是一种面向对象的,可以调用.NET类库的语言。唯一缺乏的是IDE.
一个WinForm的继承的例子
import System;
import Accessibility;
import System.Windows.Forms;
import System.Drawing;
class EventTestForm extends Form
{
var startBtn : Button;
var socket : Socket;
function EventTestForm()
{
startBtn = new Button;
startBtn.Text = "开始监听";
Controls.Add(startBtn);
// Connect the function to the event.
btn.add_Click(ButtonEventHandler1);
}
// Add an event handler to respond to the Click event raised
// by the Button control.
function ButtonEventHandler1(sender, e : EventArgs)
{
socket = new Socket;
}
}
Application.Run(new EventTestForm);
4.JScript内置对象和 CLR对象
CLR对象意味着性能效率,JScript内置对象意味着灵活。
String对象同时可以使用.toString()方法(JScript对象方法)和.ToString()方法(CLR对象方法)
5.结构化的异常处理
try,catch,finally和C#中都一样,同样可以进行多种异常的捕捉。也可以抛出异常和自定义异常。