仅适用于Visual Studio的JavaScript语法错误
出于某种原因,下面的JS声明会导致Visual Studio中出现语法错误,并且在Windows Phone浏览器中也无法执行,但对于其他IDE(如NetBeans)来说,这是完全正确的 该函数来自Hello World示例,语法错误位于注释行中:仅适用于Visual Studio的JavaScript语法错误,javascript,visual-studio,Javascript,Visual Studio,出于某种原因,下面的JS声明会导致Visual Studio中出现语法错误,并且在Windows Phone浏览器中也无法执行,但对于其他IDE(如NetBeans)来说,这是完全正确的 该函数来自Hello World示例,语法错误位于注释行中: function initWindyMap(lat, lon, key, particlesAnim) { const options = { key: key, lat: lat, lon:
function initWindyMap(lat, lon, key, particlesAnim) {
const options = {
key: key,
lat: lat,
lon: lon,
verbose: false,
zoom: 6
};
windyInit(options, windyAPI => {
const {overlays, store, map} = windyAPI; /* syntax error on this line */
store.set('lang', 'es');
store.set('englishLabels', true);
store.set('particlesAnim', particlesAnim);
overlays.wind.setMetric('km/h');
map.options.minZoom = 6;
map.options.maxZoom = 6;
map.dragging.disable();
map.doubleClickZoom.disable();
map.scrollWheelZoom.disable();
L.marker(map.getCenter()).addTo(map);
});
}
下面是VisualStudioIDE的屏幕截图,以了解更多详细信息
问题是:是否有更正统的方法来声明此函数并避免此错误?当然,这是几分钟前发布的Chrome新JS调整中的有效语法,但在这种情况下,我需要使用经典的标准JS语法。。。提前谢谢
问题是:是否有更正统的方法来声明此函数并避免此错误?
这是一个箭头函数。自2015年以来,它们一直是标准JavaScript语法。所有模糊的现代浏览器都支持它们(所以不是IE11)
您可以改用传统功能:
windyInit(options, function(windyAPI) {
// ...
});
由于您的函数不使用此,因此除了将语法从箭头更改为传统之外,您无需执行其他操作。(箭头函数和传统函数之间的一个区别是箭头函数关闭了此
,而不是通过调用方式设置此
。有关箭头函数的详细信息。)