首页 > 解决方案 > 在 JavaScript 中从 head first JS 调用函数

问题描述

输出:简·多洛普

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

<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>

标签: javascript

解决方案


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

否定 ( ) 运算符将其转换为!相反的值,这意味着它转换truefalse和。falsetrue


推荐阅读