close

純粹分享學習心得,並不會有系統的介紹Javascript,我的JS經驗也很粗淺,如果有寫錯或是遺漏也請不吝指教
另外參考良葛格學習筆記就可以得到完整版本的教學了

1. null vs undefined vs not defined error

    null代表null物件
        除非手動assign一個參考為null,不然參考不會出現null值

    undefined有兩種情形
        a. 是一個參考的預設值,宣告一個變數而不assign時,其值就會是undefined (function的參數被呼叫時沒有被給值也算是這種情形)
        b. 呼叫物件不存在的屬性也會得到undefined值
    
    not defined error
        如果使用一個沒有宣告過的變數,就會得到錯誤(xx is not defined) -- 程式中斷

2. 條件判斷式
         在JS中判斷式有六種情形會被判定為false,其餘的情形都是true
         false的情形有 : false , 0 , null , undefined , "" , NaN

         PS.在PHP中, "0"也會被判定為false,是比較特別的情形

3. 利用typeof時如何分辨object vs function 
         可以想成instance vs  class的分別,另外null的type是object,是比較特殊的情形

4. global變數其實就是window物件的屬性,而global中的this指的就是window物件

        直接舉例來說 :
   var x = 10;
        alert(window.x); // 10
        alert(this.x); // 10

5. 大家都知道Javascript是動態語言,但是大家知道動態assign(未經宣告的)的變數其實是屬於window的屬性嗎XD。
    這邊必須要強調的是,要使用動態變數,只能使用assign過的動態變數,沒有assign過的變數拿來使用會有錯誤喔!!

6.  "&&" , "||" 的使用方法
         "&&" , "||"的規則都一樣,會回傳運算中止點位置的值。
         舉例來說 :
              var a = "2" && 0 && [12,21] && "" ;  
                    //2=> true , 0=>false 於是中斷判斷式; 因此a的值是0           

              var o = "2" || 0 || [12,21] || "" ;
                    //2=> true  於是中斷判斷式; 因此o的值是"2"            
          如果搞不清楚,那記結論就好
          "&&"會回傳第一個遇到的false值,如果皆為true,則回傳最後一個
          "||" 會回傳第一個遇到的true值,如果皆為false,則回傳最後一個
          因此不管用那個,最後一個都可以拿來放預設值


7. 再來介紹一個很基本的,物件的屬性使用方式有兩種"." | "[]"
         var ytt = {name : 'yttp' : 'gender' : 'female'};
         alert(ytt.name); // 'yttp'
         alert(ytt[gender]); // 'female'

 8. 接下來分享一個很瞎的經驗,我們在套用js lib的時候會這樣使用 :
     <script type="text/javascript" src="http://mingblog.com/ming.js"></script>
     
     這時候如果我沒有給<script>一個Body,直接用"/"結束tag,接下來整個JS就掰了,而且沒有錯誤訊息 = =      
     <script type="text/javascript" src="http://mingblog.com/ming.js"/>



第一集結束了,如果大家有什麼經驗能夠一起分享或是補充真的非常歡迎喔

arrow
arrow
    全站熱搜

    minglight 發表在 痞客邦 留言(0) 人氣()