2016-02-13 24 views
-2
function scrollTagsPanel(event) { 

    reachedBottom() ? loadMoreTags() : console.log('keep scrolling'); 

    function reachedBottom() { 
     return tagsCol.scrollHeight - tagsCol.scrollTop === tagsCol.offsetHeight; 
    } 

    function loadMoreTags() { 
     console.log('load more...'); 
    } 
} 

由于reachedBottom()如果你见底才会回来,我需要的东西填写虚假的部分,即:console.log('keep scrolling');我尝试使用return;而是抛出一个错误,我不能离开的那部分空白。而不是在那里有一个空的功能。如何编辑这个JavaScript三元函数,如果第一个结果是错误,则不返回任何内容?

+2

作为一个经验法则:不要使用条件运算符副作用 。 –

+0

@FelixKling你的意思是在回报声明?你能解释一下吗?在我看来,方程式检查在回报中应该没问题,副作用是什么? –

+0

条件运算符产生一个*值*。你应该做一些有价值的事情,例如将其分配给一个变量,通过它做一个函数或将其用作较大表达式的一部分。例子:'var result = someCondition()? someValue:someOtherValue;'。如果你没有对值做任何事情,那么不要使用条件运算符,而是使用“if(... else)”。 –

回答

4

为什么不只是使用普通的if条件,那就是它是

if (reachedBottom()) loadMoreTags(); 
+0

@LeonGaban - 大部分时间,'if/else'是最有用的和可读的。很多时候,当你需要总是返回一些基于条件的东西时,比如说'var x = bool? 'a':'b',三元运营商真的很整洁。 – adeneo

0

能使用逻辑AND运营商&&

reachedBottom() && loadMoreTags() 
相关问题