对JS算子和||和优先级

今天我们看看YUI压缩器压缩JS代码:



UserNum(IND =指数,IND = usernum(IND = usernum),IND<0(IND = - 2(IND = 1),IND = usernum),selli.removeclass(),$(销售{工业})。AddClass());

它已经疯了,估计很少有人能立刻理解它,然后翻译他。

(逻辑和)



这里是一个主要操作,首先要了解这个,看看一个简单的例子:

1 var a = 123; / 3

2 var B = 012; / 0

3 var C = 102; / 0

4警报(a)、警报(b)、警报(c);

嘿嘿,写的很奇怪,结果是3, 0, 0。我们经常使用它如果报表。(逻辑与)操作和| |操作相反,操作遇到错误返回。

例如,A B,如果A是真的,直接返回到B,不管B是真还是假。如果A是false,那么返回到第一个例子中的第一个var a = 123,因为12, 1是真的,返回2;23, 2是true,返回3。

了解操作,看看YUI压缩机压缩JS代码翻译最:




如果(usernum){
索引;
如果(IND > = usernum){
IND = usernum;
}
如果(< < 0){
如果(= = 2){
工业品= 1;
}
IND = usernum;
}
SelLi.removeClass();
$(销售{工业})。AddClass();
}




感到羞愧,变老,翻译半小时,或者在同事的帮助下翻译正确。

| |(逻辑或)

让我们在| |看(逻辑或操作),看到的例子:



1创建一个0 | | 1 | | 2; / / 1

2无功B = 1 | | 0 | | 3; / / 1

3警报(a),警报(b);



| |操作遇到真正的回报。例如:一个| | B,如果是假的,B返回B,无论是真或假。如果是真的,它直接返回到不继续执行。

(逻辑)和| |(逻辑或)注意他们的优先级混合使用:

(逻辑)比| |较高优先级(逻辑或)

返回A B C | |,

根据A,判断回报的价值。A是false,然后返回C。如果B和C都是真的,那么我们可以根据A来决定B或C。如果是A,那么它将返回零。

返回A B C | |

根据优先级,它相当于先计算B,然后用A或A计算;如果A是真的,那么A返回,无论B还是C,如果A是false,如果B是false,则返回0。



1创建一个30 | | 2; / / 2

3无功B 3 | | = 02; / / 3

5无功C = 0 | | 23 / 3;

6警报(a)、警报(b)、警报(c);

附加:js运算符优先级(从高到低列出)







操作人员
描述


({)。
字段访问、数组下标、函数调用和表达式分组


删除新类型+无效~!
一元运算符,返回数据类型,对象创建,未定义值


* %
乘法、除法和画图


+ - +
加法,减法,字符串连接


> >
取代


> =是
小于、小于或等于、大于、大于或等于、实例


= =!!
相等的,不相等的,严格相等的,不严格相等的



一点一点地


^
异或


|
通过位置或



逻辑和


| |
逻辑或



条件


OP = =
分配和计算任务



多元评价





本文对JS算子和| |小和分享的所有内容都优先,希望能给大家一个参考,希望大家支持。