2017-03-06 31 views
0
function querySearch (query) {     
    var results = query ? $scope.allContacts.filter(createFilterFor(query)) : [];     
    return results; 
} 

問號語法什麼的問號?在這裏意味着什麼?它是可選的嗎?什麼是AngularJS

+0

http://stackoverflow.com/questions/6259982/how-do-you-use-the-conditional-operator-in-javascript – yBrodsky

+0

如果'query'是'truthy'將'result'設爲'result'的結果使用查詢進行過濾,否則將其設置爲空數組。 – jEdgren

+0

請參閱[MDN JavaScript參考 - 有條件(三元)運算符](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)。 – georgeawg

回答

0

這意味着:如果query評價truthytypeof query != 'undefined' && query != null && query != 0),然後返回評估$scope.allContacts.filter(createFilterFor(query))否則返回一個空數組([])的結果。

在這種情況下,它保證總是返回一個數組。

如果query ?不執行和querynull,例如,$scope.allContacts.filter(createFilterFor(query))可能會引發exeption,所以這有時被用於安全。