JScript .NET(像 JScript 一样)通过基于原型的对象支持继承。JScript .NET 还允许声明定义对象数据和行为的类,从而支持基于类的对象。在 JScript .NET 中创建的类可由任何 .NET 语言使用和扩展。类可以继承基类的属性和方法。可以对类和类成员应用几种属性,修改它们的行为和可见性。详细资料请参看Visual Studio .Net文档

解决方案 »

  1.   

    要继承javascript 类,是没有现成的方法的,你必须非常了解继承的原理,然后去模拟它。但是只能实现重载,无法实现覆盖(javascript是没有数据类型的,对不?)。(只针对javascript,不针对Jscript.net)
      

  2.   

    看看这个对字符串去除前后空格的函数:
    function String.prototype.Trim() {return this.replace(/(^\s*)|(\s*$)/g,"");}
      

  3.   

    To xujun1974(牛牛)說的很對.但是有些時候也是失效的
    就像C語言.可以用結構模擬封裝,用指針函數模擬類的方法但是你無論如何你也不能做到繼承和多態(這不是我說的.是後老實說的!)JS是Base--Object.所以只能簡單的模擬封裝.其他的如重載,繼承,多態不是你想不想的問題.更本就沒提供這個機制!T0  meizz(梅花雨)你是讓我看這是重載的例子麼..如果是.我勸你回去看看重載的概念...
      

  4.   

    同意meizz(梅花雨)
    查一下prototype,可用对象的原型属性来给对象增加方法和属性
      

  5.   

    重载是可以模拟的<script>/////////////////////////////////creator
    function testClass()
    {
    this.property1 = ""; if (arguments.length==0)
    {
    this.property1 = "runmin";
    }
    else
    {
    this.property1 = arguments[0];
    }
    }var tmp = new testClass();alert(tmp.property1);var tmp1 = new testClass("ws");alert(tmp1.property1);</script>
      

  6.   

    原来在javascript里面,class = function ?
      

  7.   


    //--start---------
    function Major()
    {
    if ( !Major.defined )
    {
    Major.defined = true;
    Major.Prototype = Major;
    Major.Prototype();
    }
    else if ( this == Major )
    {
    this.attribute1 = 1;
    this.attribute2 = 2;
    this.func1 = function()
    {
    var a = 0;
    }
    this.func2 = function()
    {
    var b = 0;
    }
    }
    else
    {
    for ( key in Major )
    {
    this[key] = Major[key];
    }
    }
    }function Sub()
    {
    if ( !Sub.defined )
    {
    Sub.defined = true;
    Sub.Prototype = Sub;
    Sub.Prototype();
    }
    else if ( this == Sub )
    {
    this.Subattribute1 = 3;
    this.Subattribute2 = 4;
    this.Subfunc1 = function()
    {
    var a = 0;
    }
    this.Subfunc2 = function()
    {
    var b = 0;
    }
    }
    else
    {
    for ( key in Sub )
    {
    this[key] = Sub[key];
    }
    }
    }function define( subclass, baseclass )
    {
        if ( !baseclass.defined )
    {
    new baseclass;
    }
        if ( !subclass.defined )
    {
    new subclass;
    }
    for ( key in baseclass )
    {
    subclass[key] = baseclass[key];
    }
    }define( Sub, Major );var subobject = new Sub;
    var baseobject = new Major;
    var a = 0;
    //--End-----------//以上用来说明类的继承的算法
    //一个精简的类定义看起来应该象下面这个样子function menu()
    {
    if ( inherit( this, menu, baseobject ) )
    {
    this.prototype=
    {
    text: "Buddy Board Service", //成员变量
    backcolor: "gray",
    onClick : function() //成员函数
    {
    },
    onSelect: function()
    {
    }
    }
    var staticVariable = 1; //相当于类的静态变量但要通过成员函数操作 this.getStaticVariableValue() //成员函数
    {
    return staticVariable;
    }
    this.getStaticVariableValue( value )
    {
    staticVariable = value;
    }
    }
    }
      

  8.   

    用javascript可以模拟实现继承
    function YourClass()
    {
      //你的属性
      this.Name="test";
      this.Value="测试";  this.Create=YourClass_Create;
    }function YourClass_Create()
    {
      this.CreatedBy="YourClass";
    }//定义子类
    function YourSubClass()
    {
      //继承父类
      this.ParentInherited=YourClass;
      this.ParentInherited();  //重写方法
      this.Create=YourSubClass_Create;
    }function YourSubClass_Create()
    {
       YourClass_Create();
       this.CreatedBy = this.CreatedBy + ",子类";
    }由于是现写的,没有测试。大致思路就是这样的
      

  9.   

    我的最终看法是,如果不是真的没办法,就不要把javascript做得这么复杂。
    简单比什么都好。
      

  10.   

    面向对象的Javascript编程要简单和容易得多,效率高出很多。
    而且做一个核心的编程框架也就个两三天,一劳永逸,何乐而不为。