当vm8出现一个不存在的属性时,它会显示包含此消息的错误:
无法读取属性'值'为null 例如,传递ID不存在:
var pass = document.getElementById('pass');
if (pass.value == '') //here is error that complain about null property
我的问题是我们如何阻止编译器在适当的条件下满足这行代码? 感谢
答案 0 :(得分:1)
// Get the element.
// If the element doesn't exist, then it will be `null`
var pass = document.getElementById('pass');
if (pass) {
alert(pass.value);
} else {
alert("Element was not found. There is a problem.');
}
行:if (pass)
也可以写为if (pass !== null)
,但没有理由。
答案 1 :(得分:0)
而不是if (pass.value == '')
,请尝试
if (typeof(pass.value) == 'undefined')
答案 2 :(得分:-1)
你可以这样做:
if ('value' in pass) {
...
}
答案 3 :(得分:-1)
您可以通过各种方式:
if(typeof(pass.value) === 'undefined')
if(typeof(pass)==="undefined")
if('value' in pass)