JS优化:善用二元运算符&& 、||、三元运算符?:代替传统的if

条件选择语句转换成三元运算符?:句式

句式一、

if(a) do_a

elseif(b) do_b

else do_c

转化为:

=>a ? do_a

: b ?do_b

: do_c

句式二、

if(a) do_a

转化为:

=> a &&do_a

句式三、

if(!a) do_a

转化为:

=> a || do_a

了解了上面的规则,再介绍一下在实际应用中的操作:

针对句式一实例:

if ( a.options.wrapperW ) {

a.wrapperW = a.options.wrapperW

}else if( a.options.wrapperW ){

a.wrapperW = a.wrapper.clientWidth

}else{

a.wrapperW= window.innerWidth

}

转换为:

a.wrapperW = a.options.wrapperW ?

a.options.wrapperW

:a.wrapper.clientWidth ? a.wrapper.clientWidth : window.innerWidth

针对句式二实例:

if(this.options.autoInit) {

this.refresh();

}

转化为

this.options.autoInit && this.refresh();

针对句式三实例:

if(!!b.endCallBack == false){

...

}

b.endCallBack || (…. )

当某条分支语句有多条代码的时候,我们可以借助刚才讲到的降低语句数的技巧来处理

Eg:

摘取base_hscroll.js中的一段代码:

b.endCallBack ||

b.options.enabled

&& (

b.options.onBeforeScrollStart&& b.options.onBeforeScrollStart.call(b, a)

,b.absDistX = 0

,b.absDistY = 0

, b.pointX= c.pageX

, b.pointY= c.pageY

,b.directionLocked = !1

,b.options.onSlideStart && b.options.onSlideStart.call(b, a)

,b._bind(MOVE_EV)

,b._bind(END_EV)

,b._bind(CANCEL_EV)

)
时间: 2024-07-30 11:16:07

JS优化:善用二元运算符&& 、||、三元运算符?:代替传统的if的相关文章

JS三元运算符

JS三元运算符 三元运算符: 如名字表示的三元运算符需要三个操作数. 语法是 条件 ? 结果1 : 结果2;. 这里你把条件写在问号(?)的前面后面跟着用冒号(:)分隔的结果1和结果2.满足条件时结果1否则结果2. <script type="text/javascript"> var b=5; (b == 5) ? a="true" : a="false"; document.write(" ---------------

JavaScript入门:004—JS凝视的写法和基本运算符

JS的凝视JS中加凝视和寻常写C#代码是几乎相同的.有//和/* */这两种.单行凝视使用双斜杠比如. <script type="text/javascript"> // var number-1; // var index=2; </script> 多行凝视使用/* 内容 */比如, <script type="text/javascript"> /* var number-1; var index=2; */ </sc

JavaScript入门:004—JS注释的写法和基本运算符

JS的注释JS中加注释和平常写C#代码是差不多的.有//和/* */这两种.单行注释使用双斜杠例如, <script type="text/javascript"> // var number-1; // var index=2; </script> 多行注释使用/* 内容 */例如, <script type="text/javascript"> /* var number-1; var index=2; */ </scr

PHP中的运算符---位运算符、递增递减运算符、三元运算符、字符串运算符、数组运算符、类型运算符、错误控制运算符

1.位运算符 位运算符用来对整型数的指定位进行置位,如果被操作数是字符串,则对该字符串的ASCII码值进行操作. 运算类型 运算符 举例 结果 按位与 & $a & $b 将$a 与 $b 中均为1的位置为1,其余置为0 按位或 | $a | $b 将$a 中为1 或$b中为1的位置为1,其余置为0 按位异或 ^ $a ^ $b 将$a 与 $b 中不同的位置为1,其余置为0 按位非 ~ ~ $a 将 $a 中为1的位置为0,为0的位置为1 左移 << $a <<

python 的三元运算符

一.三元运算符 三元运算符就是在赋值变量的时候,可以直接加判断,然后赋值 格式:[on_true] if [expression] else [on_false] res = 值1 if 条件 else 值2 1.举例说明: a =1 b = 2 c= a if a>1 else b #如果a大于1的话,c=a,否则c=b 如果不用三元运算符,就用if-else条件判断,如下: a = 1 b = 2 if a >1: c = a else: c = b 2.三元运算符也可以用在列表和字典中

JAVA元运算符,一元运算符,二元运算符,三元运算符

一元运算符: 序号 一元运算符 说明 1 i++ 给i加1 2 i-- 给i减1 3 ++i 给i加1 4 --i 给i减1 i++;/*例:int i=1;i++;//先将i的值1赋值给i,然后i再加1*/ i--;/*同上*/ ++i;/*例:int i=1;++i;//先将i+1,然后在赋值给i*/ --i;/*同上*/ 二元运算符 序号 二元运算符 说明 1 + 加 2 - 减 3 * 乘 4 / 除 5 % 取余 三元运算符 int i    =    150;int c    =  

【js知识点】js三元运算符

js三元运算符知识点: 可以嵌套 可使用()将多个语句包围 中间不能使用 ; 和 var 等字符 在写插件时,为了压缩代码使用较多 实例: 1>2?alert("a"):(alert("b"),2>3?alert("c"):alert("d")); alert("e"); //b d e 2>1?alert("a"):(alert("b"),2>

JavaScript一元运算符、二元运算符和三元运算符

在JavaScript中,运算符可以根据其实际操作数的个数进行分类. JavaScript中的大多数运算符是一个二元运算符(binary operator),将两个表达式合并称为一个稍复杂的表达式.譬如a*b中的乘法运算符*,就是一个二元运算符.表达式-x中的-运算符就是一个一元运算符,是将操作数x求负值.最后,JavaScript支持一个三元运算符(ternary operator),条件判断运算符?:,它将三个表达式合并成一个表达式. 条件语句?(条件为真)执行语句A:(条件为假)执行语句B

js三元运算符与循环

 三元运算符 语法: 条件?成立做的事情:不成立做的事情:<=>相当于简单的if/else判断(简化写法) var num = 12; if(num>10){ num ++; }else { num--; } => 相当于三元运算符: num > 10? num++ : num--; 特殊情况: //=>如果三元运算符中某一部分成立不需要任何的处理我们用null/underfined/void 0...占位即可 var num=12; num>10?num++ :