程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 前端-js,變量未定義,什麼時候才會報錯?

前端-js,變量未定義,什麼時候才會報錯?

編輯:編程綜合問答
js,變量未定義,什麼時候才會報錯?
 if(thisVariable){
//do sth.
}
 var thisVariable={};
if(thisVariable["thatProperty"]){
//do sth.
}

上面這行代碼,直接寫在js文件中,運行會報錯,第一個是變量未聲明,第二個是屬性未聲明。
可是,如果把這兩端代碼,放在一個函數中,則不會報錯。

function test(thisVariable){
if(thisVariable){
//do sth.
}

var thisVariable={};
if(thisVariable["thatProperty"]){
//do sth.
}
}
test();

誰能講下原因?
另外,能不能擴展地講下這方面的知識,總結一下

最佳回答:


var申明的會預編譯,初始值為undefined,放一起相當於下面的效果


    var thisVariabl=undefined
    var a = 10;
    if (thisVariable) {//undefined相當於false,不執行語句體
        //do sth.
    }

    thisVariable = {};
    if (thisVariable["thatProperty"]) {//沒有鍵名稱就是undefined
        //do sth.
    }

可以看這個:
javascript判斷中為假的值
javascript運行機制淺析

showbo
zzzcsd
zzzcsd
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved