Javascript - 未捕获的语法错误:条件中出现意外的标识符



这是我构建密码确认的代码,但我得到的只是一个错误:Uncaught SyntaxError: Unexpected identifierline 3

function validatePasswordConfirmation(inputName, input) {
var password_confirmation = document.querySelector('#password-confirmation').value;
if password_confirmation == document.querySelector('#password').value || !isEmpty(input.value) {
showOrHideErrorMessage(inputName, true, 'invalid');
}
else{
showOrHideErrorMessage(inputName, false, 'invalid');
}
}

怎么了?

语法错误,您缺少if条件周围的括号:

if password_confirmation == document.querySelector('#password').value || !isEmpty(input.value) {

。应该是:

if (password_confirmation == document.querySelector('#password').value || !isEmpty(input.value)) {

具体来说,您收到的错误:SyntaxError: Unexpected identifier告诉您解析器在期望找到左括号的位置找到了一个标识符(password_confirmation(。

如果你只是在学习JavaScript,我建议将某种代码linter集成到你的开发工具中(如jslint或eslint(。使用这些工具时,很容易发现此类问题。

您需要在if语句上使用括号。

改变:

if password_confirmation == document.querySelector('#password').value || !isEmpty(input.value)

自:

if (password_confirmation == document.querySelector('#password').value || !isEmpty(input.value))

最新更新