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