如何处理那些不存在的属性

时间:2014-05-09 05:40:06

标签: javascript

当vm8出现一个不存在的属性时,它会显示包含此消息的错误:

无法读取属性'值'为null 例如,传递ID不存在:

var pass = document.getElementById('pass');
if (pass.value == '') //here is error that complain about null property 

我的问题是我们如何阻止编译器在适当的条件下满足这行代码? 感谢

4 个答案:

答案 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)