1、| |(逻辑或),
从字面上看,只有正面和背面
都是假的,你回到false,否则回到真实的。
警报(真| |假); / /真的
警报(假| |真); / /真的
警报(真| |真); / /真的
警报(假| |假); / /假
傻瓜知道~
但是,从更深的意义上来说,有一个不同的地方可以尝试下面的代码。
警报(0 | | 1); / / 1
显然,我们知道前0意味着false,后1意味着true,然后结果应该是真的,事实返回的事实是1:
警报(2 | | 1); / / 2
我们知道前2个是真的,下1个是真的,结果是什么测试结果为2,继续阅读:
警报('a' | | 1); / / A
同样,真正的front'a'is,和接下来的1是
正确的;结果是,下面
Alert (''||1); //1
从顶部,我们知道前面是假的,接下来的1是正确的,返回的结果是1。
警报('a' | | 0); / / A
真正的front'a'is,和接下来的0是
错误的,结果是。
警报(| | 0); / / 0
前面是假的,下一个0也是假的,结果是0。
警报(0 | | '); / /
前0个是假,后一个是假,结果是结果。
这意味着
1、只要| |前面的错误,不管| |背后是真是假,| |背后的返回值。
2、只要| |面前真的,不管| |背后是真还是假,返回的| |以前的值。
我把这个短路原理称为:知道第一个的结果,我知道后面的输出。如果第一个是真的,那么第一个值被接受。如果第一个为false,则取第二个值。
js必须是6。记住:你必须记住:逻辑的JS,0,空、假、楠、不确定的,将被处以虚假,其他的是真实的(如果不失踪的话,请
确认),一定要记住,否则会有和| |应用问题。
顺便提一下,我
经常问我是否看到了很多代码(如果!!!attr),为什么不写如果(ATTR)直接;
事实上,这是一种更严谨的写作风格:
请测试
类型5和类型之间的差异!!!5。!!这个bool的
作用是将变量的其他类型为型。
2。(逻辑和)
从字面上看,只有正面和背面才是真的,你才能回到真,否则回到错误。
警报(真与假); / /假
警报(truetrue); / /真的
警报(falsefalse); / /假
警报(falsetrue); / /假
然后,根据上面的经验,我们看一下数字之前和之后的数字,而不仅仅是布尔类型。
警报(1); / /
结回来了,前面是假的,下一个1是真的。
警报(0); / /
结回来了,前面是假的,后面是0和假。
警报(A 1); / / 1
结还1,前面A是真的,后面是1和真的。
警报(一0); / / 0
结返回0,前面A是真的,下一个0是假。
警报(); / /
结回来了,前面A是真的,后面是假的。
警报(0'a '); / / 0
结是返回0,第一个0是假的,然后the'a'is真实。
警报(0′); / 0
结是0,前0是假,下一个是假。
短路原理
1,只要前面是假的,不管以后是真是假,结果都会回到原来的值;
2,只要前面是真的,后面是真的或假的,结果将返回到后面的值;
三.在发展中的应用
代码的以下三个部分是等价的:
a一个| |
默认值;
如果(!一){
=默认值;
}
如果(a = null | | = = | | = = undefined){
=默认值;
}
你想用哪一个
2、如无功雅虎=雅虎| | { };这是一个非常有用的,它是第一个获得价值优雅它比……更……比…好多了相当多。
3、callbackcallback()
在回调中,通常编写更严格的
方法,首先判断回调是否存在,如果存在回调,则编写的目的是防止错误
报告。
如果直接写回();当回调不存在时,代码是错误的。
4。一个完整的例子
要求如图:
这是一张
图片描述
假定生长
速度的调节如下:
5的增长率
显示了1支箭。
10的增长率显示了2支箭。
12的增长率显示了3支箭。
15的增长率显示了4支箭。
所有其他显示器显示0个
箭头。
如何用代码实现它
如果,否则:
无功add_level = 0;
如果(add_step = = 5){
add_level = 1;
}
如果(add_step = = 10){
add_level = 2;
}
如果(add_step = = 12){
add_level = 3;
}
如果(add_step = = 15){
add_level = 4;
}
{其他
add_level = 0;
}
稍好一点的开关:
无功add_level = 0;
开关(add_step){
案例5:add_level = 1;
打破;
案例10:add_level = 2;
打破;
案例12:add_level = 3;
打破;
案例15:add_level = 4;
打破;
默认值:add_level = 0;
打破;
}
如果需求改变为:
> > > > > > > > > > > > > > > > > > > > > > > > > > >。
> > > > > > > > > > > > > > > > > > > > > > > > > > >。
> > > > > > > > > > > > > > > > > > > > > > > > > > >。
> > > > > > > > > > > > > > > > > > > > > > > > > > >。
< = 0的增长率显示了0个箭头。
所以用开关实现它是很麻烦的。
你有没有想过在代码上实现一行代码
好,让我们来看看JS的强大表现力:
无功add_level(add_step = = 5 = 1)| |(add_step = = 10(2)| | add_step = = 12(3)| | add_step = = 15 4)0 | |;
更强大更好:
无功add_level = {年:1、10':2、12:3、15:0 4 } { } | | add_step;
第二需要:
无功add_level(add_step > 12 = 4)| |(add_step > 10 3)| |(add_step > 5 2)| |(add_step > 0 1)0 | |;
以上就是小编给你全面分析Javascript和| |算子(汇总),希望对你有帮助,如果您有任何问题,请给我留言,萧边会及时回复你。谢谢你的
支持网站。