Javascript 从嵌套函数返回对象?
我试图将函数内的对象作为另一个函数内的对象返回:Javascript 从嵌套函数返回对象?,javascript,function,object,angularjs,Javascript,Function,Object,Angularjs,我试图将函数内的对象作为另一个函数内的对象返回: function () { // body... var dailyPrice = null; function fun1(xml) { /***function**/ } function fun2(xml) { /*function***/
function () {
// body...
var dailyPrice = null;
function fun1(xml) {
/***function**/
}
function fun2(xml) {
/*function***/
}
function getRate(source, $scope) {
var dateValue = $("Date", source).text() || "";
if (!dateValue) {
return null;
}
var dailyPrice = $("DailyPrice", source).text() || "";
var weeklyPrice = $("WeeklyPrice", source).text() || "";
var monthlyPrice = $("MonthlyPrice", source).text() || "";
var isAvailable = $("IsAvailable", source).text() === "1";
var minimumStay = Number($("MinimumStay", source).text());
if (isNaN(minimumStay)) {
minimumStay = DEFAULT_MINIMUM_STAY;
}
return {
date: new Date(dateValue),
dailyPrice: dailyPrice,
weeklyPrice: weeklyPrice,
monthlyPrice: monthlyPrice,
reserved: !isAvailable,
minimumStay: minimumStay
};
}
return {
getallrates: function(source, $scope){
getRate(source, $scope);
console.log(getRate.dailyPrice);
},
init: function(xml) {
parseXml(xml);
},
}
}
现在当我运行getallrates时;它返回未定义的为什么??
我还尝试了以下回报:
getallrates: function(source, $scope){
var allrates = getRate();
var getdailyprice = allrates.dailyPrice;
console.log(getdailyprice);
},
将代码更改为:
return {
getallrates: function(source, $scope){
return getRate(source, $scope);
},
init: function(xml) {
parseXml(xml);
},
}
看起来您缺少了一个返回时返回的getRatesource,$scopeok那么我如何从这个函数的父函数中以每日价格获取它??您是从getRate函数返回它的,所以它应该像调用:var rates=getAllRatessource,$scope;console.logrates.dailyPrice;这仍然没有返回,我想这是因为我试图从angularJS中的模块控制器中的服务中检索它,这让我非常恼火。将它从angularJS中取出,放到一个单独的纯JS文件中,然后尝试一下,如果它起作用,那就是角度问题