从头开始JS的JavaScript函数调用

时间:2018-04-27 10:50:51

标签: javascript

输出:Jane Doloop

我不明白Marked_Line的行(评论)???我想这是一件简单的事情,但不明白这里的逻辑,帮助,谢谢。

<script>
var passengers = [  { name: "Jane Doloop", paid: true, ticket: "coach" },
                    { name: "Dr. Evel", paid: true, ticket: "firstclass" },
                    { name: "Sue Property", paid: false, ticket: "firstclass" },
                    { name: "John Funcall", paid: true, ticket: "premium" } ];

function processPassengers(passengers, testfunction)
{
  for(var i=0;i<passengers.length;i++)
  {
    if(!testfunction(passengers[i]))//------------->Marked_Line 
    {          
      return false;
    }
  } 
  return true; 
}

function printPassenger(passenger) {
  console.log(passenger.name);
  return false;
}

processPassengers(passengers,printPassenger);
</script>

1 个答案:

答案 0 :(得分:1)

testfunction是一个返回布尔值(truefalse)值的函数。

否定(!)运算符会将其转换为相反的值,这意味着它会将true转换为false并将false转换为true