什么事!这在javascript中是什么意思?
与此函数一样,将todo项的“完成”状态从true切换为false并返回:什么事!这在javascript中是什么意思?,javascript,this,Javascript,This,与此函数一样,将todo项的“完成”状态从true切换为false并返回: toggle: function() { this.save({ completed: !this.get('completed') }); } 假设你知道表示否定(转换为布尔值并返回相反的值),您发布的内容与 !(this.get('completed')) 看 请注意,位于之前在那张桌子上。这就是为什么与整个表达式相关联,与前面的get()相关联起作用。另一个答案是技术上很好的一般答案,绝对正
toggle: function() {
this.save({
completed: !this.get('completed')
});
}
假设你知道
表示否定(转换为布尔值并返回相反的值),您发布的内容与
!(this.get('completed'))
看
请注意,
位于之前代码>在那张桌子上。这就是为什么
与整个表达式相关联,
与前面的get()
相关联代码>起作用。另一个答案是技术上很好的一般答案,绝对正确
对于您的特定情况,在当前(this
)对象中有一个名为get()
的方法,它返回一个布尔值。因此,对来自get()
的布尔返回值使用not运算符(!
)将其反转,因此如果get()
返回true
,表达式将变为false
(以此类推)。这意味着您正在传递一个与从get()
返回的值相反的值,作为传递到save()
调用的对象的completed
属性的值!(this.get('completed')
即!false===true
和!true===false
,因此切换。这是“逻辑not”运算符。它只需获取this.get('completed')
并反转其值。因此,如果它是真的,它将返回false,反之亦然。我感觉问题更多的是关于什么!这意味着,这不是代码所做的。不是关于什么代码>是的,我可能是错的ooops,从OP的评论来看,他们似乎对togglingSure感到困惑,但如果他们问的是那个特定的问题,我想澄清一下发生了什么也可能会有所帮助。因为“显然”它不是“!此
“,正如先前的答复所指出的那样。我并不是说另一个答案是错误的,我只是添加了更多有针对性的信息,因为我怀疑他们有点新手。干杯。这与mVChr的评论相结合,'!false==正确且正确!true===false,因此,切换。'使其单击,谢谢@YPCrumble是关于的问题代码>运算符或关于!这
?主要是你的表演!运算符处理整个表达式,而不仅仅是“this”。