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#中都一样,同样可以进行多种异常的捕捉。也可以抛出异常和自定义异常。

原文地址:https://www.cnblogs.com/easyc/p/1660825.html