純粹分享學習心得,並不會有系統的介紹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"/>
第一集結束了,如果大家有什麼經驗能夠一起分享或是補充真的非常歡迎喔
留言列表