JavaScript的21條基本知識點
這篇文章主要介紹了JavaScript的21條基本知識點的相關資料,需要的朋友可以參考下
1.JavaScript大小寫敏感;
2.聲明變數如果不寫var,則為聲明了全域變數;任何不是方法的函數,都是全域變數,其裡面的this都指向window;
3.%運算子,求餘數,保留整數,y=5;x=y%2;則x=1;
4.如需把兩個或多個字串變數串連起來,請使用 + 運算子,區別於php;
5.三目運算:greeting=(visitor==”PRES”)?”Dear President “:”Dear “;
6.indexOf()方法,從0算起,空格也算一位;
7.Math.floor()向下取整數,返回的值小於或等於該數,Math.floor(-5.9),返回-6;
8.函數內部聲明變數的時候,一定要使用var命令。如果不用的話,你實際上聲明了一個全域變數!
9.寫demo時,一定要將JS寫到最下面,防止因html元素未載入,導致JS代碼運行不出來預計的效果(JS是解釋型語言,邊載入邊解釋,只有目標對象被載入到DOM樹以後才能擷取和操作);
10.閉包的含義:閉包其實就是函數的嵌套,內層的函數可以使用外層函數的所有變數,即使外層函數已經執行完畢(所以閉包會有效能問題,外層的變數在外層函數調用結束之後還一直存在在記憶體中);
11.checkbox打鉤的值為check,不是true;取消的值為undefined,不是false;
12.判斷變數未定義用 typeof(flag)===”undefined”;
13.JS函數內部可以訪問全域變數(或作函數外部變數),這點區別於PHP;
14.函數中的this,總是指向調用者,或者可以這樣說:不是方法的函數,this都指向window;是方法的函數this指向對象本身(要注意方法中的閉包問題,this是指向window的);
15.銷毀變數的方法:obj = null; delete obj;
16.直接判斷時,以下會被轉換成false: undefined,null,0,-0,NaN,”"(Null 字元串);所有其他值,包括對象、數組都會轉換成true;
17.布爾值包含一個toString()方法,可以返回true或false的字串;
18.可以說javascript只有6種資料類型,數字、字串、布爾值、null、undefined和對象;
19.javascript中沒有塊級範圍,取而代之的是函數範圍(參見犀牛書第六版P57);
20.javascript的聲明提前特性:在函數裡聲明的所有變數都被提前到函數的頂部(參見犀牛書第六版P58);
21.JS中函數的執行都是非同步,要注意取值的問題