JS语法错误 - 铬 - 数组解构
JS syntaxError - chrome - Array destructuring
以下代码在火狐浏览器上运行良好,但在 chrome 上抛出错误 - SyntaxError: Unexpected token [
我希望这段代码在给定的div 中附加日期。
var output = document.getElementById('output');
var classes = ['history', 'biology', 'physics'];
var students = 90;
function getExamDate() {
return [20, ' March ', 2013, ' 9AM'];
}
var [date, month, year, time] = getExamDate();
output.innerHTML(date + month + year + time);
这种说法
var [date, month, year, time] = getExamDate();
是一个解构任务。它是 ECMAScript 6 的一部分。它在大多数浏览器中尚不可用。
现在,您最好避免分配所有这些变量:
output.innerHTML = getExamDate().join('');
(是的,您有另一个错误:innerHTML
作为属性而不是函数访问(
这是一篇关于解构作业的很好的介绍性文章。
工作演示
您正在使用ECMAScript 6
称为Array destructuring
的功能,该功能还不是标准。只有像chrome和Firefox这样的现代浏览器已经实现了其中一些功能。从函数返回多个值时,数组解构是有用的简写,因为我们不再需要环绕对象。
在您的情况下,您可以调整代码以返回一个简单的数组,如下面的代码片段所示。
我使用isNumber
函数来检查数组项是否为数字。如果是字符串,则删除其周围的引号。您将以完全相同的输出结束您。
var output = document.getElementById('output');
var classes = ['history', 'biology', 'physics'];
var students = 90;
function getExamDate() {
return [20, ' March ', 2013, ' 9AM'];
}
var temp = getExamDate();
for(var i = 0; i < temp.length; i++) {
var str = temp[i];
if(!isNumber(str)) {
str = str.replace(/"/g, '');
}
console.log(str);
}
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
相关文章:
- JavaScript数组值设置错误
- jQuery Ajax数组序列化错误
- 嵌套的 Jquery 每个 2D 数组错误地重复表单元格
- Angular JS ng重复/添加到数组错误
- HTML5 打印矩形数组错误
- Javascript多维数组错误
- 数组错误如何使其工作
- 更改Img属性时出现填充数组错误
- 试图使用javascript将文本区域中的链接替换为超链接会导致数组错误
- javascript数组错误
- 简单的Javascript游戏:可能的对象数组错误
- Js:多维数组错误嵌套,而这仍然工作的一半
- Javascript数组中出现数组错误
- js空数据数组错误处理
- JS/JQuery在某些函数中出现全局数组错误
- Json数组错误无法设置属性'model'的定义
- 排序日期对象数组错误javascript
- 推送关联数组错误
- 未定义的数组错误(javascript)使用php/ajax/json等
- JSON数组错误