Javascript

时间:2015-09-10 20:43:25

标签: javascript jquery

我在互联网上找到的功能中得到了这个功能,但我无法理解它的用途。我在W3school.com上读过的内容。以下是他们解释的方式:

  

负无穷大可以解释为低于任何东西的东西   其他号码。

所以这是我能理解的,但我不能想到你需要这种常数的时刻。另外,请检查此功能:

function setEqualHeight(selector, triggerContinusly) {

  var elements = $(selector)
  elements.css("height", "auto")
  var max = Number.NEGATIVE_INFINITY;

  $.each(elements, function(index, item) {
      if ($(item).height() > max) {
          max = $(item).height()
      }
  })

  $(selector).css("height", max + "px")

  if (!!triggerContinusly) {
      $(document).on("input", selector, function() {
          setEqualHeight(selector, false)
      })

     $(window).resize(function() {
          setEqualHeight(selector, false)
     })
  }
}

我理解整个功能。但我无法弄清楚为什么最初会= Number.NEGATIVE_INFINITYvar margin = {top: 20, right: 100, bottom: 30, left: 100}, width = 960 - margin.left - margin.right, height = 500 - margin.top - margin.bottom; var xScale = d3.scale.linear() .domain([0, 15]) .range([0, width]); var yScale = d3.scale.linear() .domain([0, 38]) .range([height, 0]); var xAxis = d3.svg.axis() .scale(xScale) .orient("bottom") .innerTickSize(-height) .outerTickSize(0) .tickPadding(10); var yAxis = d3.svg.axis() .scale(yScale) .orient("left") .innerTickSize(-width) .outerTickSize(0) .tickPadding(10); var svg = d3.select("body").append("svg") .attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom) .append("g") .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); svg.append("g") .attr("class", "x axis") .attr("transform", "translate(0," + height + ")") .call(xAxis); svg.append("g") .attr("class", "y axis") .call(yAxis); 。然后,他检查高度是否高于可能的最小数量?

这个功能完美无缺,所以我猜测它是正确的,但我真的不明白这个功能的用法是什么,或者为什么人们会这样使用它。

我希望你们能够启发我!

2 个答案:

答案 0 :(得分:2)

通常使用极值作为在一组数据中找到最大值的函数的起点。在这种情况下,因为元素的高度不小于0,所以没有必要,但是一旦你以前看过这个概念,就会提供更好的理解。

考虑以下任意例子。

var data = [ 1, 5, -10000, 50, 1240 ];

function maxData(data) {
    var max = Number.NEGATIVE_INFINITY;

    for (var i = 0; i < data.length; ++i)
        if (data[ i ] > max)
            max = data[ i ];

    return max;
}

这在JavaScript中效果很好,因为与Math.NEGATIVE_INFINITY相比的任何值都会更大。

在像C ++这样的其他语言中,通常使用整数,浮点数等的最小值。

答案 1 :(得分:1)

负无限不是火箭科学。与正无穷大相反。

var i=-3/0;
Ans= -Infinity