2015-08-18 4 views
2

Я стучу головой, пытаясь найти ошибку в этом коде. Я проверил его так много раз, когда кто-то может указать, где проблема?неожиданная ошибка маркера для catch javascript

$(function() { 
    try { 
    function endswith(str, ends) { 
     if (ends === '') return true; 
     if (str == null || ends == null) return false; 
     str = String(str); 
     ends = String(ends); 
     return str.length >= ends.length && str.slice(str.length - ends.length) === ends; 
    } 
    var referrer = new URL(document.referrer).domain; 
    if (endswith(referrer, "xyz.com")) { 
     $(".logo .logo-external").remove(); 
    } else { 
     $(".logo .logo-internal").remove(); 
    } 
    } catch() {} 
}); 
+0

Вам нужно имя переменной внутри скобок 'catch(). – Barmar

ответ

5

catch (e) {} Вы пропустили переменной е

$(function() { 
    try { 
    function endswith(str, ends) { 
     if (ends === '') return true; 
     if (str == null || ends == null) return false; 
     str = String(str); 
     ends = String(ends); 
     return str.length >= ends.length && str.slice(str.length - ends.length) === ends; 
    } 
    var referrer = new URL(document.referrer).domain; 
    if (endswith(referrer, "xyz.com")) { 
     $(".logo .logo-external").remove(); 
    } else { 
     $(".logo .logo-internal").remove(); 
    } 
    } catch (e) {} 
}); 
+0

oh thankyou soo muchhh – Imo

0

Согласно MDN, try...catch синтаксис определяется примерно следующим образом:

try { 
    try_statements 
} 
... 
[catch (exception_var) { 
    catch_statements 
}] 
[finally { 
    finally_statements 
}] 

Это означает, что exception_var не является факультативным. В противном случае это будет выглядеть так:

... 
[catch ([exception_var]) {  // Uncaught SyntaxError: Unexpected token) 
    catch_statements 
}] 
... 
Смежные вопросы