如何檢查JavaScript變量是否已被實際聲明?如何檢查變量是否已被聲明,但未初始化?
這種解決方案並不在我的情況下工作:
JavaScript check if variable exists (is defined/initialized)
例子:
(function(){
var abc;
alert(typeof abc === 'undefined') // true
})();
同:
(function(){
alert(typeof abc === 'undefined') // true
})();
它產生在這兩種情況下true
。我可以這樣做:
(function(){
var abc;
var isDefined = false;
try { isDefined = abc || !abc; }
catch(e) {}
alert(isDefined); // true
})();
它的工作原理,但我正在尋找更好的,這個,X瀏覽器。
EDIT:我想在一塊動態代碼經由eval
運行,並檢查是否在本地或全局範圍存在一定變量來使用它。
你能描述一下你的用例還是至少它們將被應用的環境,例如,是否聲明瞭函數參數或者是否有變量? –