javascript没有将值传递给函数,但函数仍然具有它

时间:2019-01-23 13:41:13

标签: javascript openlayers

我不明白styleFunction是如何工作的(我从Openlayers 4 example中获得了它):

var styleFunction = function(feature) {
    return styles[feature.getGeometry().getType()];
};

var vectorSource = new ol.source.Vector({
    features: reader.readFeatures(listaMappe[i].geoJSON,projector)
});

var vectorLayer = new ol.layer.Vector({
    source: vectorSource,
    style: styleFunction
});

(从vectorLayer)没有参数传递给它,但是值feature有一个值(我认为应该为空)。

这个问题来自我需要向styleFunction添加另一个参数,以便我可以从listaMappe[i].color传递值。 (我试图将代码更改为function(feature, color),但不知道为什么,但是值color不为空,它是一个实数...)

1 个答案:

答案 0 :(得分:0)

当函数被称为时传递给参数。

vectorLayer没有打任何电话。

vactorLayer是保存ol.layer.Vector返回值的变量。

styleFunction传递给ol.layer.Vector(这是您未包含在问题中的代码,可能是其他人编写的)。在函数内部的某个地方,调用styleFunction并传递参数。