Android 4.4浏览器在阵列推送方法中报告意外标识
问题描述:
Android 4.4.2移动浏览器在下面的函数中指向“caption:title”的行中报告“意外标识符”。Android 4.4浏览器在阵列推送方法中报告意外标识
function createGallery(images, title, container)
{
"use strict";
var obj = [];
images.map(function(link, idx) {
obj.push({
link,
caption: title
});
});
}
我测试了浏览器的代码的Android 6,并没有报告任何语法错误,只是正常工作。 即使我没有在任何地方调用函数,它也开始吐出错误。
注意:“严格使用”对于解决严格模式问题上的早期错误是必要的。 UC浏览器,Opera Mini和android内置浏览器都报告了与Android 4.4.2相同的语法错误。
答
旧的浏览器不支持您使用的对象声明。你最好使用的语法如下:
{
link: link,
caption: title
}
这相当于
{
link,
caption: title
}
这是ECMAScript的6功能
obj.push({链接:链接,标题:标题})。原因是上面的线路 –
@AraratHarutyunyan谢谢,这正是问题所在,但我很惊讶,我看不到这一点。但为什么旧的编译器会检测到新的忽略的语法错误? – ultrasamad
请参阅答案 –