Ich habe ein Problem mit diesem OpenLayers 3 Klassen, die ol.geom.Geometry erweitert. Ich mag den Konstruktor Namen ol.geom.Point zum Beispiel wissen, so dass ich tun:JavaScript - Klassenname
ol.geom.Point.name
Aber ich nichts, auch wenn ich eine Instanz erstellen und versuchen, den Konstruktor Namen zu erhalten:
var p = new ol.geom.Point([0,0]); p.constructor.name;
Die Implementierung von ol.geom.Point kann here gefunden werden.
ol.geom.Point = function(coordinates, opt_layout) {...}
Und ich habe ein jsfiddle getan, um dieses Verhalten zu reproduzieren.
Lesen docs von MDN:
Browser, die ES6 Funktionen implementieren können den Namen einer anonyme Funktion von seiner syntaktischen Position schließen. Zum Beispiel:
var f = function() {}; console.log (f.name); // "f"
Also, was mache ich falsch oder was fehlt mir?
Vielen Dank im Voraus!
Mit welchem Browser testen Sie dies? Soweit ich weiß, wird f.name nur von Firefox unterstützt. –
Ich teste in Firefox. –
Nur neugierig, warum Sie einen Konstruktornamen benötigen. Wenn Sie benutzerdefinierte Eigenschaften festlegen möchten, verwenden Sie 'ol.geom.Point # setProperties'. –