将原型调用为新对象中的另一个原型
Call prototype another prototype in new object
返回thisFunction.wweather.day()未定义。。为什么?我这样做对吗?
'use scrict';
var thisFunction = function(){this.event(); };
thisFunction.prototype.weather = function(){
this.day = "Cloudy";
};
thisFunction.prototype.event = function(){
console.log(thisFunction.weather().day);
};
var g = new thisFunction();
我正在尝试调用事件内部的天气函数。正如你在底部看到的,有一个新的var g,它等于new thisFunction()。如果我在事件thisFunction.protype.wweather()内调用weather函数,那么day是未定义的。为什么?
thisFunction
是您的构造函数。
它没有.weather()
方法。因此,thisFunction.weather
是undefined
,而thisFunction.weather()
是一个错误。
.weather()
方法在原型上,这意味着它在thisFunction
的实例上,而不是在构造函数本身上。所以,在你的代码中,你可以做:
g.weather()
或者,在.event()
方法内部,您可以这样做:
thisFunction.prototype.event = function(){
console.log(this.weather());
};
要使this.weather().day
工作,您必须使用.weather()
方法中的return this
。
thisFunction.prototype.weather = function(){
this.day = "Cloudy";
return this;
};
thisFunction.prototype.event = function(){
console.log(this.weather().day);
};
相关文章:
- 引用“;instanceof“/来自另一个范围的原型
- 将原型调用为新对象中的另一个原型
- 从同一原型和上下文中的另一个函数调用函数
- 从另一个(包括其自身)触发一个原型函数
- 如何在另一个原型事件完成后启动该原型事件
- JavaScript–从另一个原型函数调用原型的一个函数
- 如何在另一个原型中创建可调用的原型方法
- 如何创建一个原型函数,将另一个原型函数绑定为语法糖(并保持实例的上下文)
- 在原型对象 jquery 上将一个按钮与另一个按钮不同
- Javascript:如何附加到构造函数的原型,如果该构造函数已经在另一个对象的原型上定义
- 为什么允许通过原型继承访问另一个闭包范围内的私有变量
- 访问另一个原型函数的 Javascript 原型
- 我应该如何对具有相同原型的另一个对象的“私有”成员进行操作
- 使用原型扩展另一个函数的函数
- 如何在数据绑定后在 KNOCKOUT js 中使用“with”访问另一个原型对象
- 如何将原型函数名称传递给另一个原型函数
- Javascript原型:如何在另一个方法中调用一个方法
- 承诺完成后调用另一个原型方法
- JavaScript可以't调用另一个内部的原型函数
- 将值传递给另一个原型函数