在变量实例上访问原型方法
Accessing prototype method on variable instance
var Foo = (function () {
var cls = function () {
this.prototype = {
sayhi: function () {
alert('hi');
}
};
};
cls.staticMethod = function () {};
return cls;
})();
var f = new Foo();
为什么我不能访问我的sayhi
方法?this
不是指cls
变量吗?
您试图在cls
的每个实例上设置prototype
属性。你真正想做的是设置cls
本身的prototype
属性:
var Foo = (function () {
var cls = function () {}; // Constructor function
cls.prototype = { // Prototype of constructor is inherited by instances
sayhi: function () {
alert('hi');
}
};
return cls;
})();
相关文章:
- 使用“;这个“;JavaScript原型方法中的关键字
- 引用类变量中的原型方法
- 如何从对象的原型方法访问JavaScript对象属性
- 如何从构造函数中调用js原型方法
- Javascript不调用原型方法
- 有没有任何情况下,一个方法不应该是原型方法
- 调用影子原型方法的更简单/更好的方法
- 当对象从服务器发送到客户端时,JS原型方法消失了
- 构造 JavaScript Array 原型方法
- 在Javascript中扩展继承的原型方法
- 如何在另一个原型中创建可调用的原型方法
- 覆盖原型方法
- 实现原型方法
- 从原型方法更改实例属性
- XrayWrapper 错误(值是可调用的)在 Firefox 插件中覆盖原型方法时
- 避免在外部称为原型方法中丢失对象实例
- 原型方法不是一个函数,为什么
- 是否可以从 javascript 中的原型方法访问私有类属性
- 找不到 Javascript 原型方法覆盖
- 调用本机原型方法时扩展或继承对象原型