SCRIPT1006:预期')'

时间:2017-06-24 02:07:24

标签: javascript

在下面的函数中,IE表示缺少')':

function padZeros(num, size = 4) {
    var s = num+"";
    while (s.length < size) {
        s = "0" + s;
    }
    return s;
}

我错过了什么?

4 个答案:

答案 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://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters#Syntax

支持的浏览器列表: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://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters#Syntax

支持的浏览器列表: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;
}