this.checked && this.addToStore()?帮忙解析一下这行代码,感谢
this.checked 是一个布尔值 true || false
this.addToStore() 是一个函数
其实想要了解这行代码,你只需要知道,逻辑运算符&&和||在浏览器里面是怎么运行的,就能知道这行代码的意思
先说逻辑&&
举例,a&&b:,这里的a和b可以是变量,也可以是一个函数,如果是变量,就简单判断变量的值是true还是false,如果是函数,就运行函数,并判断函数的返回值是true还是false,逻辑&&代表的如果是a运行为真,则运行b,返回b运行的结果,如果a运行为false,就直接返回false,不往后面运行了
所以this.checked && this.addToStore() 这个代码可以解释为:如果this.checked 为true,就运行this.addToStore()这个函数,并且返回这个函数的返回值,如果this.checked为false,就直接返回false了,
这也就是逻辑&&的解释,必须所有条件都为真最终结果才是真,第一个条件如果是假的,后面就不用跑了,解释就是,从头向后运行,运行为真就接着运行,直到运行完,如果没有遇到false,那就是返回true,如果遇到false了,后续就不用运行了,直接返回false
再说逻辑||的运算规则
a||b 代表先运行a,如果a为真,就返回真,不会在走后续,如果a为假,则运行b,返回b运行的结果
如果a||b||c同理,依次向后运行,直到出现值为真的情况,就返回真,运行完都没有出现,就返回假
如果当前勾选 调用addToStore(相当于选中与model值对应)
this.checked && this.addToStore()