当前位置:首页 >> 网络编程

JavaScript三元运算符的多种使用技巧

发现代码慢慢写多了的时候会不自觉的将if else 用 三元来替代,仅仅是未了让代码更简洁精辟,当然也有人说用三元可以让你有高潮的感觉。最近在写js 的时候也有这样的感觉,并且收集了一些小技巧,分享分享。

大鸟请跳过下面这段,大大鸟帮忙指正 ^__^

====普及线====

表达式 (expr1) "codetitle">复制代码 代码如下:
if(拜春哥 || 拜考试帝){
    不挂科;
}else{
    门门挂;
}

那么三元的表示法就是
复制代码 代码如下:
拜春哥 || 拜考试帝 "codetitle">复制代码 代码如下:
flag "codetitle">复制代码 代码如下:
$('.item')[ flag "codetitle">复制代码 代码如下:
$('.item')['addClass']('hover')

这样写法等同于。
复制代码 代码如下:
$('.item').addClass('hover')

再升华一下

可以根据需要来调用自己想要的function来处理更多的事情。
复制代码 代码如下:
function a(){
      do something
}
function b(){
      do something
}

flag "codetitle">复制代码 代码如下:
    var action_turn = function(e, type){
        var self = $(e).closest('li');
        var target = self[type === 'prev' "codetitle">复制代码 代码如下:
alert( true "codetitle">复制代码 代码如下:
alert( true "codetitle">复制代码 代码如下:
echo (( true ? 'true' :  false ) ? 't' : 'f'  )  //php中

tip:
另外发现php中的三元有这样的提示

Note: 注意三元运算符是个语句,因此其求值不是变量,而是语句的结果。如果想通过引用返回一个变量这点就很重要。在一个通过引用返回的函数中语句 return $var == 42 ? $a : $b; 将不起作用,以后的 PHP 版本会为此发出一条警告。

但是经过试验,发现在javascript 中上面的做法是可以起作用的,大概是js 比较BT,严谨度没有php那么大的原因。