在下面的函数中,IE表示缺少')':
function padZeros(num, size = 4) {
var s = num+"";
while (s.length < size) {
s = "0" + s;
}
return s;
}
我错过了什么?
答案 0 :(得分:4)
问题是Internet Explorer不理解&#34;参数的默认值&#34; - 这是ES2015 +,并且由于很久以前IE的开发停止了,新的ES2015 +语法无法用于IE
尝试使用像babel之类的转发器,直到IE正式死亡!
function padZeros(num) {
var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 4;
var s = num + "";
while (s.length < size) {
s = "0" + s;
}
return s;
}
答案 1 :(得分:2)
这是因为您尝试在不受支持的IE浏览器上运行Javascript ES6代码。
ECMAScript 6,也称为ECMAScript 2015,是ECMAScript标准的最新版本。 ES6是该语言的重要更新,也是自2009年ES5标准化以来该语言的第一次更新。
请查看以下文档了解更多详情
支持的浏览器列表:https://kangax.github.io/compat-table/es6/
以下是所有浏览器的更新代码
function padZeros(num, size) {
var s = num+"";
while (s.length < size) {
s = "0" + s;
}
return s;
}
padZeros(10,4)/*10 is your num and 4 is your pad size*/
答案 2 :(得分:0)
这是因为您尝试在不受支持的IE浏览器上运行Javascript ES6代码。
ECMAScript 6,也称为ECMAScript 2015,是ECMAScript标准的最新版本。 ES6是该语言的重要更新,也是自2009年ES5标准化以来该语言的第一次更新。
请查看以下文档了解更多详情
支持的浏览器列表:https://kangax.github.io/compat-table/es6/
以下是所有浏览器的更新代码
答案 3 :(得分:0)
在Microsoft Edge和d IE中,不支持直接传递函数中的值。它被认为是错误文件,所以我们会遇到错误
尝试下面的代码
function padZeros(num) {
var size = 4;
var s = num+"";
while (s.length < size) {
s = "0" + s;
}
return s;
}