如何将函数变量调用到其他函数参数或参数中?

时间:2014-03-13 04:44:27

标签: javascript

我想在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;
      }
    }

非常感谢你。

3 个答案:

答案 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;
  }
}