IE11 и javascript константы - PullRequest
0 голосов
/ 04 мая 2020

В моем коде javascript я использую константы, и, если работает правильно в Chrome и Firefox, я получаю неопределенную ошибку в IE11. Режим эмуляции установлен на строку агента = Microsoft Edge. Я читал, что в IE v5 - 9 (и 10 превью) константы недоступны, но с 11 на это должно быть в порядке. Что я делаю не так и как это решить? Проверьте тип браузера и, если IE, тогда просто сделайте переменные для него? Итак, у меня есть файл x. js с этим кодом:

const CONST_FAIL_1 = "something failed";
const CONST_FAIL_2 = "something else failed";

, затем в мой код я включаю файл x. js

<script language="Javascript" src="/scripts/x.js"></script>

и далее вниз по У меня есть эта javascript функция:

function doSomething(x){
    try{
        if (ajaxCreateObjectinDB(x)){
            return true;
        }
        else{
            return false;
        }
    }
    catch(err){
    showErrorDiv(true, CONST_FAIL_1 + ":" + err.message);
        return false;
    }
}

Я получаю SCRIPT5009: «CONST_FAIL_1» не определено javascript ошибка

Кроме того, значение по умолчанию для функциональной переменной не распознается. Итак:

function x(x,y=true){....}

выдает ошибку, что после "y" отсутствует знак ")".

Любые входные данные приветствуются.

1 Ответ

0 голосов
/ 05 мая 2020

Как мы все знаем, декларация Const поддерживает IE 11 браузер вместо IE 5 ~ 9. Если вы хотите объявить переменную, вы можете попробовать использовать оператор var. Код как показано ниже:

var CONST_FAIL_1 = "something failed";
var CONST_FAIL_2 = "something else failed";

Так как Параметры функции по умолчанию не поддерживают браузер IE, если вы хотите установить значение по умолчанию, вы можете проверить его в функции метод, как это:

    function test(x, y) {
        if (y == undefined) {
            y = true;  // set the default value.
        }
    };
...