As in this function, that toggles the 'completed' state of a todo item from true to false and back:
toggle: function() {
this.save({
completed: !this.get('completed')
});
}
As in this function, that toggles the 'completed' state of a todo item from true to false and back:
toggle: function() {
this.save({
completed: !this.get('completed')
});
}
假设您知道这!
意味着否定(转换为布尔值并返回相反的值),您发布的内容与
!(this.get('completed'))
请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence
请注意,该表位于该表.
之前!
。这就是为什么 the!
与整个表达式.
相关联,而get()
在 the!
发挥作用之前与相关联。
另一个答案是技术上很好的一般答案,并且绝对正确。
对于您的特定情况,您在当前 ( this
) 对象中有一个名为的方法,get()
该方法返回一个布尔值。!
因此,在布尔返回值 from 上使用 not 运算符 ( ) 会get()
反转它,因此如果get()
返回true
,则表达式变为false
(etc)。这意味着您传递的值与返回的值相反get()
,作为completed
传递给调用的对象的属性值save()
。