javascript中關於if的問題

今天在看一些js代碼的時候,發現了以下部分代碼:

var btn = $("#addBtn_"+treeNode.tId);
if (btn) btn.bind("click", function(){
    parentNode = treeNode;
    openCatgDialog({parent_id: treeNode.sid, method: 'add'});
    return false;
 });

然後我就有點懵懂了,一般上if(條件)中的條件不是true 或 false 麼? 爲什麼這裏使用一個變量。後來經過查找部分資料才瞭解。原來if(條件)中的條件爲 { 0 , 1 , true , false , null , ' ' , undefined ,非空 } 時都可以,其中

{ 0 , false , null , ' ' , undefined } => false
{ 1 , true , 非空 } => true

例如:

var i = 0;
if(i) {
   console.info("返回true");
} else {
   console.info("返回false");
}
// 在控制檯輸出:返回false


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章