0
function querySearch (query) {
var results = query ? $scope.allContacts.filter(createFilterFor(query)) : [];
return results;
}
問號語法什麼的問號?
在這裏意味着什麼?它是可選的嗎?什麼是AngularJS
function querySearch (query) {
var results = query ? $scope.allContacts.filter(createFilterFor(query)) : [];
return results;
}
問號語法什麼的問號?
在這裏意味着什麼?它是可選的嗎?什麼是AngularJS
這意味着:如果query
評價truthy
(typeof query != 'undefined' && query != null && query != 0
),然後返回評估$scope.allContacts.filter(createFilterFor(query))
否則返回一個空數組([]
)的結果。
在這種情況下,它保證總是返回一個數組。
如果query ?
不執行和query
是null
,例如,$scope.allContacts.filter(createFilterFor(query))
可能會引發exeption,所以這有時被用於安全。
http://stackoverflow.com/questions/6259982/how-do-you-use-the-conditional-operator-in-javascript – yBrodsky
如果'query'是'truthy'將'result'設爲'result'的結果使用查詢進行過濾,否則將其設置爲空數組。 – jEdgren
請參閱[MDN JavaScript參考 - 有條件(三元)運算符](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)。 – georgeawg