使用双重否定 - 出于什么原因?

时间:2015-07-19 07:34:01

标签: javascript jquery

昨天它已经阅读了John Resig撰写的这篇博客文章: http://ejohn.org/blog/comparing-document-position/

这个片段我不明白:

angular
  .module('app', ['ngRoute'])
  .config(function($routeProvider){
    $routeProvider
    .when('/friendslist', {
      templateUrl: 'partials/FriendsList.html',
      controller: 'FriendsListController'
    })
    .when('friendslist/:friendId/chat', {
      templateUrl: 'partials/Chat.html',
      controller: 'ChatController'
    })
    .otherwise('/friendslist')
  })

第一个表达式是明确的:如果a不与b相同而b包含在a中则返回true。 但是第二个表达式中两次否定的目的是什么? compareDocumentPosition()的返回按位与16进行比较= =>结果在16或0中。假设它是16然后在第一次否定后变为假。然后在第二次否定后再次成真。 在0的情况下,它变为真,然后再次为假。

有没有人理解这些代码并可以解释它?

1 个答案:

答案 0 :(得分:1)

双重否定运算符用于转换为布尔值..将其视为与parseInt()类似的方法

以下是相关的stackoverflow question