我想向函数构造函数(类)的原型添加一个常量,但它返回为未定义,为什么?
function myClass(){
}
$(document).ready(function(){
myClass.prototype.age = 22;
window.alert(myClass.age);
});
因为它的原型继承。
以下内容将起作用:
myClass.prototype.age = 22;
var myobj = new myClass();
window.alert(myobj.age);
在您的示例中,您正在向类原型添加属性。您只有在实例化该类的对象时才能看到这些。
要实现你想要的,只需依赖 Expando 属性:
myClass.age = 22;
window.alert(myClass.age);
如果有帮助,请将第一个示例视为在 C# 中的类上声明公共属性。您只能在实例化时访问它。
第二个例子就像声明一个公共static
C# 中类的属性。您无需实例化它即可访问它。
编辑评论
要从类中的方法中访问年龄,请使用此this
myClass.prototype.GetAge = function(){
alert(this.age);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)