访问prototype属性而不创建对象实例

时间:2014-10-31 07:45:37

标签: javascript object

function someClass(){
}
someClass.prototype.CONST = 'Some Constant.';

console.log( 'with Obj : '+(new someClass).CONST);
console.log( 'without Obj : '+someClass.CONST);

第一个给出正确答案,第二个返回undefined, 现在,有没有办法在不创建对象实例的情况下访问CONST

我正在寻找类似于访问Java Class

的静态属性的东西

2 个答案:

答案 0 :(得分:4)

是的,你可以访问它:

console.log(someClass.prototype.CONST);

答案 1 :(得分:0)

您可以通过对象的原型成员访问所有原型成员,而不仅仅是变量:

// returns a value
someObject.prototype.someMember

// calls the function someFunct()
someObject.prototype.someFunct()

如果你需要从一个对象调用一个方法,使用另一个对象作为调用实例'您可以使用.call.apply

// calls functMember using instanceObject as the instance
someObject.prototype.functMember.call(instanceObject, arg1, arg2, ... );

// calls functMember using isntanceObject as the instance, using an array as arguments
someObject.prototype.functMember.call(instanceObject, [arg1, arg2, ...] );