似乎以下用于检查对象成员是否存在的技术会产生错误,因为在检查之前没有声明’bar’父对象,这意味着我要么必须在检查之前声明它,要么使用两个’typeof’表达式,其中任何一个都是多余的代码:
var foo = {},newVal = (typeof foo.bar.myVal !== 'undefined' ? foo.bar.myVal : null ); Error: foo.bar is undefined
那么,如何检查未声明对象中的成员是否存在而不会产生错误?
我喜欢javascript,但有时……
解决方法
只需使用以下代码即可完成:
var newVal = (foo && foo.bar && typeof foo.bar.myVal !== 'undefined') ? foo.bar.myVal : foo.bar.myVal
属性为null或未定义,它将被计算为false,因此上述代码将仅处理第一个’false’语句.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。