javascript 中的类属性与实例属性

下面的代码实现了javascript中类属性与实例属性:

function myObject() {
    var 
instance_data 100;
    
this.getInstanceData = function() {
        return 
instance_data;
    }
     
this.setInstanceData = function(v) {
        
instance_data v;
     }
}

// 使用一个匿名函数去修改构造器的原型 myObject.prototype, 以访问该匿名函数中的upvalue
void function() {
    var 
class_data 10;
    
this.getClassData = function() {
        return 
class_data;
    }
    
this.setClassData = function(v) {
        
class_data v;
    }
}.
call(myObject.prototype);

// 创建对象
//
var obj1 = new myObject();
var 
obj2 = new myObject();

obj1.setInstanceData(10);
alert(obj2.getInstanceData()); // 输出100

obj1.setClassData(200);
alert(obj2.getClassData()); // 输出200

留下评论

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

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据