0
也许以某种方式扩展尝试&捕获或错误处理抛出错误未定义的捕获,只有在调试模式(标志开)?Javascript:控制未定义?
因为它会减少我的代码并提高可读性。
if (typeof foo != 'undefined') {
/* Do something with foo */
}
而不是立即使用它。
如果有任何解决方案,将未定义的变量连接到一个字符串。
'bar'+ ((typeof foo != 'undefined') ? foo : '') +'bar'
而不是使用它的时候了
'bar'+ foo +'bar'
谢谢:)
更新,一些例子:
(function(o){
var s = {
foo:''
}
$.extend(s,o);
console.log('testing'+ s.foo +'testing');
})();
(function(o){
console.log('testing'+ o.foo +'testing');
})({foo:''});
(function(o){
console.log('testing'+ (typeof o.foo != 'undefined' ? o.foo : '') +'testing');
})();
(function(o){
console.log('testing'+ o.foo +'testing');
})();
为什么你会有这么多可能'未定义的变量......函数参数? – alex 2011-03-26 15:06:09
更新了我的文章。 ;) – Somebody 2011-03-26 15:29:15
想象一下,如果有很多未定义的变量被使用。 – Somebody 2011-03-26 15:36:16