luc*_*nov 10 javascript syntax undefined typeerror isset
我写的东西很累
if (
typeof Foo != 'undefined' &&
typeof Foo.bar != 'undefined' &&
typeof Foo.bar.baz != 'undefined' &&
Foo.bar.baz == 'qux'
) {...}
Run Code Online (Sandbox Code Playgroud)
在PHP中它更好一点:
if (!empty($foo['bar']['baz']) && $foo['bar']['baz'] == 'qux') {...}
Run Code Online (Sandbox Code Playgroud)
理想情况下它将是:
function u(value) {
return (typeof value != 'undefined') ? value:null;
}
if (u(Foo.bar.baz) == 'qux') {...}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试这样做时,浏览器显示"TypeError".有没有办法让"你"功能?
您不必明确声明未定义.检查可以是这样的:
if(foo && foo.bar && foo.bar.obj && foo.bar.obj.prop1)
Run Code Online (Sandbox Code Playgroud)
或者,如果有任何错误,您可以使用try catch块来捕获:
try
{
if(foo && foo.bar && foo.bar.obj && foo.bar.obj.prop1)
{}
}
catch(e)
{
alert(e);
}
Run Code Online (Sandbox Code Playgroud)
但是,我可以看到问题所在.我建议尽量避免像你一样深陷.
| 归档时间: |
|
| 查看次数: |
5333 次 |
| 最近记录: |