Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在访问属性之前检查对象是否不为null_Javascript_Null_Prototypejs - Fatal编程技术网

Javascript 在访问属性之前检查对象是否不为null

Javascript 在访问属性之前检查对象是否不为null,javascript,null,prototypejs,Javascript,Null,Prototypejs,有没有更简单的方法来检查NOTNULL和检查该元素的值是否为空,而不必同时执行这两项操作!=null,然后调用值 因为null是错误的,所以应该使用稍微短一点的版本 var how = $('how'); var id = $('myId'); if ((how != null && !how.value.blank()) || myId != null) { return true; } else { alert('Error'); } 请注意,上面的代码和您

有没有更简单的方法来检查NOTNULL和检查该元素的值是否为空,而不必同时执行这两项操作!=null,然后调用值

因为
null
是错误的,所以应该使用稍微短一点的版本

var how = $('how');
var id = $('myId');
if ((how != null && !how.value.blank()) || myId != null) {
    return true;
} else {
    alert('Error');
}

请注意,上面的代码和您自己的代码段都假设如果
how
存在,它将有一个名为
value
的属性,如果不是这样,它将抛出一个异常。

什么是
how
$
jQuery?另外,原型在哪里发挥作用?因为问题被标记为原型(而且选择器不是有效的jQuery选择器),我认为可以安全地假设
$
是原型,这就是它发挥作用的方式。@DavidHedlund:除了标记与这个问题无关之外。如果他正在使用,OP应该使用该标记。@Cerbrus:公平地说,该标记应该是prototypejs。我仍然认为,问题的答案是
$
jQuery,原型在哪里发挥作用这一点在手边的问题中相当明显。为什么要检查myId=null我们可以直接用myId做它,比如:if((how&&!how.value.blank())| | myId){}只是出于好奇…@ankurverma:主要是因为我只解决了OP问的问题的特定部分,而没有改变片段的其余部分。我也不想做任何条件中已经隐含的假设。我们知道
how
应该是一个对象,因为我们继续访问
how.value
,如果它存在的话。同样,我们不知道哪些值对
myId
有效。仅通过变量名,可以想象它是一个整数,
0
是一个有效的非空值。尽管如此,我同意我们可以相当肯定您的解决方案就足够了,因为我们知道
myId
被定义为
$('myId')
,这意味着它可能是一个DOM节点或null。感谢@DavidHedlund的解释:)
if((how && !how.value.blank()) || myId != null) { 
  ...
}