3 回答

TA貢獻1765條經驗 獲得超5個贊
問題1,JS是弱類型的語言,你的理解是對的,
var evnt=evnt ||window.event;
等同于
var evnt=evnt?evnt||window.event;
就象很多代碼里可以看到
function abc(obj){
if(obj)//如果obj是一個對象,返回true,否則(比如是null或undefined)返回false
}
問題2,JS的函數有個特性,就是參數可以定義,也可以不定義,即使定義了也可以不用,比如:
function abc(str){
alert(1);
}
上面這個函數,你直接調用abc();也可以執行,沒有任何錯誤.
function abc(str){
alert(str);
}
這個函數如果不用參數就會出錯了,因為代碼里使用了str這個參數,所以調用abc("1112")沒有問題,但是調用abc()就不行了.
還有:
function abc(){
if(arguments.length>1){alert(arguments[0]);}
if(arguments.length>2){alert(arguments[1]);}
}
上面這個函數沒有定義任何參數,你可以試試:
調用:abc();//不傳參
調用:abc('11');//一個參數
調用:abc('11','22');//2個參數.
相信你能明白了吧.

TA貢獻1942條經驗 獲得超3個贊
問題1,JS是弱類型的語言,你的理解是對的,
var evnt=evnt ||window.event;
等同于
var evnt=evnt?evnt||window.event;
就象很多代碼里可以看到
function abc(obj){
if(obj)//如果obj是一個對象,返回true,否則(比如是null或undefined)返回false
}
問題2,JS的函數有個特性,就是參數可以定義,也可以不定義,即使定義了也可以不用,比如:
function abc(str){
alert(1);
}
上面這個函數,你直接調用abc();也可以執行,沒有任何錯誤.
function abc(str){
alert(str);
}
這個函數如果不用參數就會出錯了,因為代碼里使用了str這個參數,所以調用abc("1112")沒有問題,但是調用abc()就不行了.
還有:
function abc(){
if(arguments.length>1){alert(arguments[0]);}
if(arguments.length>2){alert(arguments[1]);}
}
上面這個函數沒有定義任何參數,你可以試試:
調用:abc();//不傳參
調用:abc('11');//一個參數
調用:abc('11','22');//2個參數.
相信你能明白了吧.
- 3 回答
- 0 關注
- 1425 瀏覽
添加回答
舉報