JavaScript 演练(5):模拟类


/* 给一个实例化后的空对象添加属性、方法 */
obj = {};
obj.Name = "张三";
obj.Age = 33;
obj.ShowInfo = function () { alert(obj.Name + ", " + obj.Age); }

obj.ShowInfo(); //张三, 33


/* 用函数建立并返回对象 */
function GetObj(name, age) {
    return {
        Name: name,
        Age: age,
        ShowInfo: function () { alert(this.Name + ", " + this.Age); }
    }
}

GetObj("张三", 33).ShowInfo(); //张三, 33


/* 模拟类 */
function MyClass(name, age) {
    this.Name = name;                                  //属性
    this.Age = age;                                    //属性
    this.ShowName = function () { alert(this.Name); }; //方法
}

obj1 = new MyClass("张三", 33); //实例化
obj1.ShowName(); //张三

//补加的属性与方法
MyClass.prototype.ClassName = "MyClass";
MyClass.prototype.ShowInfo = function () { alert(this.ClassName + ", " + this.Name + ", " + this.Age); }

obj1.ShowInfo(); //MyClass, 张三, 33

obj2 = new MyClass("李四", 44); //实例化
obj2.ShowInfo(); //MyClass, 李四, 44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Grow your business fast with

Suku