我想在calculatePrice参数中插入total_dist值。如何将total_dist函数中的total_dist调用到calcautePrice total_dist参数中。
function total_dist(){
total_dist = getDistanceFromLatLonInKm(origin_lat,origin_lng,pickup_lat,pickup_lng);
return total_dist;
}
function calculatePrice(base_cost, base_dist, additional_cost, additional_dist, total_dist) {
if (total_dist > base_dist) {
var dist_diff = total_dist - base_dist;
var time = Math.ceil(dist_diff / additional_dist);
return (time * additional_cost) + base_cost;
}else {
return base_cost;
}
}
非常感谢你。
答案 0 :(得分:1)
首先获取total_dist()
的返回值并将与参数相同的值传递给calculatePrice()
,如下所示,
var td=total_dist();
calculatePrice(base_cost, base_dist, additional_cost, additional_dist, td)
答案 1 :(得分:0)
您需要调用它:if (total_dist() > base_dist)
等等。
你有一个更大的问题,你在一个名为total_dist
的函数中隐式声明total_dist
,因此你会遇到引用问题。这样做:
function total_dist(){
return getDistanceFromLatLonInKm(origin_lat, origin_lng, pickup_lat, pickup_lng);
}
答案 2 :(得分:0)
将total_dist返回的值存储在变量中,比如_t_dist。现在可以根据需要使用此变量。以下是修改后的代码。
function total_dist(){
total_dist = getDistanceFromLatLonInKm(origin_lat,origin_lng,pickup_lat,pickup_lng);
return total_dist;
}
function calculatePrice(base_cost, base_dist, additional_cost, additional_dist, total_dist) {
var _t_dist = total_dist ();
if (_t_dist > base_dist) {
var dist_diff = _t_dist - base_dist;
var time = Math.ceil(dist_diff / additional_dist);
return (time * additional_cost) + base_cost;
}else {
return base_cost;
}
}