1. 程式人生 > >JS中神奇的a和undefined

JS中神奇的a和undefined

console.log(a);  輸出什麼?
  //報錯? underfined? a?
這裡應該會報錯.
因為這裡的a沒有加引號,只有加引號了才為字串,會輸出a;
沒有加引號應該是一個變數或者是別的,a沒有宣告所以這裡會報錯.
假如現在前面加一個var a;  會輸出undefined,因為他沒有給變數a賦值.

 

談談結果為undefined的情況.

 

1.宣告變量了,但沒有賦值
var arr;
console.log(arr);
2.函式沒有返回值return或者return但未賦值
function arr(x,y){
sum=x+y;
}
console.log(arr(10,20)); //結果為undefined
即使加return變為:
function arr(x,y){
sum=x+y;
return;
}
console.log(arr(10,20));  //此時結果也為undfined,因為沒有賦值
正確應為:
function arr(x,y){
sum=x+y;
return=sum;
}
console.log(arr());//結果為30
3.一個數組,給一個數組賦值,跳著賦值,比如給下標為0的賦一個值,直接給下標為2的賦值,此時輸出這個陣列,下標為1的值會是undefined
var arr=[];
arr[0]=10;
arr[2]=20;
console.log(arr); //此時結果會為 10,undefined,20