Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
388 views
in Technique[技术] by (71.8m points)

请问这个if用法在JavaScript什么意思呢?

// 获取当前选项卡ID
function getCurrentTabId(callback)
{
    chrome.tabs.query({active: true, currentWindow: true}, function(tabs)
    {
        if(callback) callback(tabs.length ? tabs[0].id: null);
    });
}





// 获取当前标签ID
$('#get_current_tab_id').click(() => {
    getCurrentTabId(tabId => {
        alert('当前标签ID:' + tabId);
    });
});

就是这一句

 if(callback) callback(tabs.length ? tabs[0].id: null);

是什么意思呢, 如果?? 就??


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

首先,if语句省略了 {}。

if(callback) callback(tabs.length ? tabs[0].id: null);

其次,上面这行代码等同于下面所示:

if(callback){
    if(tabs.length === 0){
        callback(null);
    } else {
        callback(tabs[0].id);
    }
}

关于是否用三目运算符来编写,还是要看团队成员是否都能接受。如果不能接受,还是不要这样写,维护成本高。毕竟写出的代码不仅是让计算机能执行,还是要给人看的。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...