Uncaught SyntaxError: Неожиданный токен = в Google Chrome
У меня есть функция javascript, которая принимает необязательный параметр. Это отлично работает в Firefox
, но в Google Chrome
он показывает: -
Uncaught SyntaxError: Unexpected token =
Мой код,
function errorNotification(text = "Something went wrong!") {
$.pnotify({
title: 'Error',
text: text,
type: 'error'
});
}
Я видел много похожих вопросов, но я не могу понять свою проблему.
Ответы
Ответ 1
Вы используете параметр по умолчанию, который теперь поддерживается только Firefox.
function errorNotification(text) {
text = text || "Something went wrong!";
$.pnotify({
title: 'Error',
text: text,
type: 'error'
});
}
Ответ 2
Javascript не позволяет передавать аргументы по умолчанию. Вам необходимо назначить значение по умолчанию для функции.
function errorNotification(text) {
text || (text = "Something went wrong!");
$.pnotify({
title: 'Error',
text: text,
type: 'error'
});
}
Ответ 3
Примечание. Другие ответы не будут работать, если у вас есть логическое значение, которое вы хотите по умолчанию: true
. Это потому, что anything||true
всегда будет возвращать true
. Вместо этого вы должны сделать что-то вроде:
function foo(bar){
if(bar === undefined)
bar = true;
//rest of your function
}
Ответ 4
function [a-zA-Z0-9_]*?\s{0,}\([^=$)]*?(=)[^)$]*?\)
может оказаться полезным найти js-функции с параметром по умолчанию и затем исправить их.