1.typeof:未經定義的變量typeof返回"undefined"。
2.數據類型:
1)js中 0 == '' 返回結果是 true
2)1 == '1'返回結果是true,但是在Map中1和'1'是不一樣的
3)在獲取輸入框數據進行計算時,請先轉換爲數字
4)undefined+任何數字結果都是NaN
5)字符串+undefined的結果爲字符串+'undefined'字符串
3.判斷:
1)if(data),當data爲0或者空串('')或者undefined時,一定不會進入判斷
2)if(!!data),代表判斷true或者false但是data並不一定是true或者false
4.易犯錯誤:
1)示例1:因爲函數不是在console.info()的時候就打印,而是把函數保存在外面,10個函數同一個作用域,並且都是10
var a = [];
for(var i=0; i<10; i++){
a[i] = function (){
console.info(i);
}
}
for(var i=0; i<a.length; i++){
// 輸出結果正常,但是循環完成之後數據全部是10
a[i]();
}
for(var k=0; k<a.length; k++){
// 輸出結果全部是10
a[k]();
}
2)示例2:因爲num未定義,num爲undefined,undefined+任何數都是NaN
var num;
for(var i=1; i<=10; i++){
num = num+i;
}
// 輸出結果是NaN
console.info(num);
3)示例3:return語句的行沒有其他內容時,會在return語句後面自動插入分號
var f1 = function (){
return
{
test: 'test'
}
}
// 打印結果是undefined
console.info(f1());