这是一个长镜头......
在Javascript中,我正在访问我确定存在的对象属性,但是我在键的名称中输入了一个错字,所以返回undefined并创建了一个错误.
如何编写与以下内容等效的代码,但由于密钥不存在而引发错误?
var obj = {'myKey': 'myVal'},
val = obj.myKye;
Run Code Online (Sandbox Code Playgroud)
我正在尝试找到一个解决方案,不需要我编写每次我想访问对象成员时使用的包装函数.可能吗?Javascript中是否有另一种"更严格"的技术来访问对象属性?
ta-*_*run -1
您可以使用try-catch, hasOwnProperty 并创建一个ReferenceError。
var obj = {
'myKey': 'myVal'
}, val;
try {
if(obj.hasOwnProperty(myKye))
{
val = obj.myKye;
alert(val);
}
else{
var ex = new ReferenceError()
}
}
catch(ex) {
alert(ex);
}
Run Code Online (Sandbox Code Playgroud)
更新:
obj.myKye返回undefined并且不会抛出异常,因为,
这就是JS语言规范。
对于未定义的属性名称,对象返回 undefined,但未定义的变量引用会引发错误
| 归档时间: |
|
| 查看次数: |
2637 次 |
| 最近记录: |