var scope="123";
function aa();//變數宣告提前
var a=1;//不可刪除的全域性變數
b=2;//可刪除的全域性變數
delete a;//true
delete b;//false
//delete 刪除
in 運算子
左側是乙個字串或可以轉換為字串,右側是乙個物件,如果左側的字串等於右側物件的乙個屬性,則返回true
instanceof 運算子
左側是乙個物件,右側是乙個類,如果左側物件是右側類的例項,則返回true,否則返回false
eval("3+2");//5 表示式運算 如果引數是字串他會當成js**執行,如果不是字串,會返回這個引數
continue //跳出本次迴圈,執行下一次迴圈
break //跳出迴圈
return //跳出函式,並有乙個返回值
throw //丟擲乙個異常,使用try/catch/finally 可以捕獲異常
function error(x)
if(x<0) throw new error('這是乙個錯誤');
debugger 斷點除錯
//關鍵字const a=0;//宣告常量,重複賦值會失敗,重複宣告會報錯
functionaa(n)
returnresult;
};//通過let宣告的變數只屬於就近的花括號括起來的語言塊
結構賦值:
在結構賦值中,等號右側是乙個陣列或物件,指定左側乙個或多個變數的語法和右側的陣列和物件直接量的語法保持一致
let [x,y]=[1,2];//等價於 let x=1,y=2[x,y] = [x+1,y+1];//等價於 x=x+1,y=y+1
let [a,[b,c]]=[1,[2,3]];//等價於 a=1,b=2,c=3
同樣也適用於物件
生成器
使用yield和return類似,
functionrange(min,max)for(let n in range(3,8));console.log(n);//輸出數字3~8
函式簡寫
JS的一些小知識點
1.在函式中定義的變數只能在此函式中使用 之前一直對這個很模糊,最近看了一些資料,談談對這個的理解。settimeout 和非同步是有一定關係的,它有兩個引數,第乙個引數是乙個函式或者js語句,第二個引數是乙個時間,單位是ms。瀏覽器遇到settimeout後會立即執行,然後開始計時,經過乙個時間段...
初步JS的一些小知識點
知識點 當乙個變數已經宣告而沒有賦值的時候,此時的這個變數就是undefined。乙個number型別的變數加上或者減去乙個undefined 宣告卻沒有定義 型別的變數 會出現nan。判斷的是資料的內容,而忽略了資料的型別。比如 var a 3 var b 3 alert a b 此時會在瀏覽器的...
一些小的知識點
malloc calloc 等記憶體分配函式所獲得的記憶體塊都來自乙個稱為堆 heap 的儲存池。記憶體洩漏 memory leak 是指程式中己動態分配的堆記憶體由於某種原因程式未釋放或無法釋放,造成系統記憶體的浪費,導致程式執行速度減慢甚至系統崩潰等嚴重後果。記憶體洩漏缺陷具有隱蔽性 積累性的特...