综合分析Javascript和||算子(摘要)

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和| |算子(汇总),希望对你有帮助,如果您有任何问题,请给我留言,萧边会及时回复你。谢谢你的支持网站。