Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在本手册示例代码中.addOn是如何工作/执行的?_Javascript_Leaflet - Fatal编程技术网

Javascript 在本手册示例代码中.addOn是如何工作/执行的?

Javascript 在本手册示例代码中.addOn是如何工作/执行的?,javascript,leaflet,Javascript,Leaflet,我仍然没有javascript方面的经验,并试图理解以下代码- 当info.onAdd不是唯一被称为w/o参数时,它何时/如何执行 根据传单文档,这是一种本机方法,但为名称指定了一个函数 var info = L.control(); info.onAdd = function (map) { this._div = L.DomUtil.create('div', 'info'); // create a div with a class "info" this.update(

我仍然没有javascript方面的经验,并试图理解以下代码-

当info.onAdd不是唯一被称为w/o参数时,它何时/如何执行

根据传单文档,这是一种本机方法,但为名称指定了一个函数

var info = L.control();

info.onAdd = function (map) {
    this._div = L.DomUtil.create('div', 'info'); // create a div with a class "info"
    this.update();
    return this._div;
};

// method that we will use to update the control based on feature properties passed
info.update = function (props) {
    this._div.innerHTML = '<h4>US Population Density</h4>' +  (props ?
        '<b>' + props.name + '</b><br />' + props.density + ' people / mi<sup>2</sup>'
        : 'Hover over a state');
};

info.addTo(map);
var info=L.control();
info.onAdd=函数(映射){
this._div=L.DomUtil.create('div','info');//使用类“info”创建一个div
这个.update();
把这个还给我;
};
//方法,我们将使用该方法根据传递的功能属性更新控件
info.update=功能(道具){
这个._div.innerHTML=‘美国人口密度’+(道具?
''+props.name+'
'+props.density+'people/mi2' :“悬停在状态上”); }; 信息地址(地图);
在编程中,“”实际上是一个函数,但附加到对象(或类实例)上

在您提供的代码示例中,此方法由另一个函数重写。这也是自定义对象行为的标准做法

您的代码不希望调用
onAdd
方法,因为它是由传单调用的:

  • addTo
    执行一些操作,主要调用
    map
    addControl
    方法
  • addControl
    注册
    info
    控件,并调用
    infos
    onAdd
    方法
  • onAdd
    执行并返回一个HTMLElement,
    map
    可以使用该HTMLElement在视口上显示
    info