2014-09-23 41 views
0

我有以下的Javascript涵蓋串真實和邏輯真

$scope.user.infowindow.enable = ($scope.user.infowindow.enable=="true") ? true : false; 

此檢查$scope.user.infowindow.enable"true",如果是那麼它變成true其他false

有時$scope.user.infowindow.enable可以true,而不是一個字符串,最好把什麼東西寫到這個腳本中,以便最後$scope.user.infowindow.enable將被設置爲truefalse檢查它是否是一個字符串。

謝謝

+1

一個很好的參考:http://dorey.github.io/JavaScript-Equality-Table/ – 2014-09-23 08:21:14

回答

1

使用或'||'聲明

$scope.user.infowindow.enable = ($scope.user.infowindow.enable==="true" || $scope.user.infowindow.enable===true) ? true : false; 
+0

什麼時候會發生' $ scope.user.infowindow.enable'爲'「false」' – mithunsatheesh 2014-09-23 08:17:06

+1

$ scope.user.infowindow.enable將爲false – sylwester 2014-09-23 08:19:05

0

或者使用「===」,明確地在對待不同的情況:

$scope.user.infowindow.enable = 
    ($scope.user.infowindow.enable === "true" ||  
    $scope.user.infowindow.enable === true) ? true : false; 

雖然我寧願理解爲什麼一個值「有時」是一個字符串,而「有時」是一個布爾值。這可能是你在這裏真正的問題......

0

你可以試試這個:

$scope.user.infowindow.enable = (true === $scope.user.infowindow.enable || 'true' === $scope.user.infowindow.enable);