javascript - 如果在 Javascript 中进行条件检查,如何执行 "soft"

标签 javascript

就像你在 php 中做的那样:

if (@$some_var_exists)
    // do stuff

如何在 Javascript 中执行这样的操作而不会出现错误?

谢谢

编辑: 感谢您的回答。但是,我要解决的问题是当变量在对象深处时如何检查它是否存在,例如:

if (someObj.something.foo.bar)
  // This gives an error in the browser if "someObj.something.foo" is not defined.

最佳答案

检查链的每个部分:

if (someObj && someObj.something && someObj.something.foo && someObj.something.foo.bar) {
   // stuff
}

因为表达式是从左到右求值的,一发现false就返回,所以不会报错。因此,如果“someObj”存在,但“sometObj.something”不存在,它将返回 false 并且永远不会对 someObj.something.foo 执行会引发错误的测试。

关于javascript - 如果在 Javascript 中进行条件检查,如何执行 "soft",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/690858/

相关文章:

javascript - AngularJS - 使模型变量可用于 jQuery?

javascript - Parent.navigate 仅适用于 IE。我有什么选择可以让它与其他浏览器一起使用?

Javascript 传递值以在事件监听器上运行

javascript - 在Javascript中定义对象的属性数组

javascript - 我需要使用按钮将 var 信息传递给函数

Javascript OnClick 更改各种元素链接颜色

javascript - 单击播放后如何加载视频?

javascript - 使用子元素的信息隐藏 li 元素

javascript - Angular 交错动画自定义指令

javascript - 在 React.js 中使用私有(private)变量和方法有没有好的方法