如何使用Javascript将对象参数值传递给同一对象的方法
原谅我,如果这是一个潜在的重复,但我一直无法从这个网站或其他类似的问题得到任何解决 我创建了一个具有多个属性和一个方法的类。属性值是在创建单个对象时从JSON-P数据中获得的。该方法应该获取其中一个属性的值,运行if-else逻辑并返回一个值 该方法没有返回值,firebug也没有报告我能看到的任何问题,尽管我怀疑这与继承有关。请检查代码并提出解决问题的可能方法:如何使用Javascript将对象参数值传递给同一对象的方法,javascript,object,methods,Javascript,Object,Methods,原谅我,如果这是一个潜在的重复,但我一直无法从这个网站或其他类似的问题得到任何解决 我创建了一个具有多个属性和一个方法的类。属性值是在创建单个对象时从JSON-P数据中获得的。该方法应该获取其中一个属性的值,运行if-else逻辑并返回一个值 该方法没有返回值,firebug也没有报告我能看到的任何问题,尽管我怀疑这与继承有关。请检查代码并提出解决问题的可能方法: function Forecast(temperature, wind, desc, high, low, iconID, date
function Forecast(temperature, wind, desc, high, low, iconID, date) {
//creates object class "Forecast"
this.temperature = temperature;
this.wind = wind;
this.desc = desc;
this.high = high;
this.low = low;
this.iconID = iconID;
this.date = date;
this.skycon = function pickIcon() {
var clearSky = [800];
var partlyCloudy = [801];
var cloudy = [802, 803, 804];
var rain = [200, 201, 202, 210, 211, 212, 221, 230, 231, 232, 300, 301, 302, 310, 311, 312, 313, 314, 321, 500, 501, 502, 503, 504, 511, 520, 521, 522, 531];
var sleet = [611, 612, 615, 616, 906];
var snow = [600, 601, 602, 620, 621, 622];
var windy = [900, 901, 902, 905, 956, 957, 958, 959, 960, 961, 962];
var misty = [701, 741];
if (clearSky.indexOf(this.iconID) >= 0) {
return Skycons.CLEAR_DAY;
} else if (partlyCloudy.indexOf(this.iconID) >= 0) {
return Skycons.PARTLY_CLOUDY_DAY;
} else if (cloudy.indexOf(this.iconID) >= 0) {
return Skycons.CLOUD_DAY;
} else if (rain.indexOf(this.iconID) >= 0) {
return Skycons.RAIN;
} else if (sleet.indexOf(this.iconID) >= 0) {
return Skycons.SLEET;
} else if (snow.indexOf(this.iconID) >= 0) {
return Skycons.SNOW;
} else if (windy.indexOf(this.iconID) >= 0) {
return Skycons.WIND;
} else if (misty.indexOf(this.iconID) >= 0) {
return Skycons.MIST;
}
};
};
我已经解决了这个问题。上面的代码示例完全按照预期工作。由于我还在学习,我忽略了在程序流的适当点正确调用该方法。我成功地做到了这一点:
skycons.add("icon2", tomorrow.skycon(tomorrow.iconID);
不,它与继承无关,您没有在代码中执行任何继承。您忘了向我们展示构造实例和调用方法的代码。您需要提供您传递的输入、输出以及预期的输出的详细信息。什么是不能正常工作?它是如何工作不正常的?您可以发布使用此对象的代码吗?
pickion
是在其他地方定义的函数吗?或者您为什么命名并分配它?