var tmp=new date();
function f()
}f();// undefined
上面**的原意是,if**塊的外部使用外層的tmp變數,內部使用內層的tmp變數。但是,函式f執行後,輸出結果為undefined,原因在於變數提公升,導致內層的tmp變數覆蓋了外層的tmp變數。
let tmp = new date();
function f()
}f();// wed may 24 2017 15:45:57 gmt+0800 (中國標準時間)
場景2:
var s = 'hello';
for (var i = 0; i < s.length; i++)
console.log(i);//5
var s = 'hello';
for (let i = 0; i < s.length; i++)
console.log(typeof i); // typeof 會丟擲異常 => undefined
併發事務所導致的問題
當同乙個應用程式或者不同應用程式中的多個事務在同乙個資料集上併發執行時 可能會出現許多意外的問題 併發事務所導致的問題可以分為下面三種型別 髒讀 對於兩個事物 t1,t2,t1 讀取了已經被 t2 更新但 還沒有被提交的字段 之後 若 t2 回滾 t1 讀取的內容就是臨時且無效的.不可重複讀 對於兩...
導致的變數覆蓋問題
話不多說直接上 使用foreach來遍歷陣列中的值,然後再將獲取到的陣列鍵名作為變數,陣列中的鍵值作為變數的值。因此就產生了變數覆蓋漏洞。請求?name test 會將 name的值覆蓋,變為test。1.2.name test 3.output string 4 name string 4 tes...
this指向問題以及變數提公升問題
非箭頭函式的this指向 箭頭函式的this指向 一 非箭頭函式 1 普通函式作用於window var name window age 20function hello hello window 202 函式內的函式 函式內定義了變數 function obj1 object1 obj1 2 函式...