码迷,mamicode.com
首页 > Web开发 > 详细

js中!!的作用

时间:2015-04-02 18:24:02      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

最近在项目中js代码中看到如下代码:

if(!!r&&r.length>0){
    $("#order_list").empty().append("<option value=\"-1\">可选外呼项目</option>");
    for(var i=0;i<r.length;i++){
     $("#order_list").append("<option value=\""+r[i].workOrderId+"\">"+r[i].workOrderName+"</option>");
    }
   }

对!!不太理解,于是自己写了代码测试了一下发现,如下规律:

(1)若var r;(undefined)  var r = 0; var r="";    var r=null;则!r就表示true,(js内部原理,将这些类似于未定义,空值的都看作是false),此时!!r表示false;

(2)若var r = "abc"; var r = 1;等等这些本身就有值(或有意义的值),那么!r就表示false;!!r就表示true;(我们常用于这种情况,就像例子中r本身就属于这种情况,要不后面怎么会&& r.length呢)

谨以此提醒自己编码要小心善用,若有错误,欢迎批评指正!

js中!!的作用

标签:

原文地址:http://www.cnblogs.com/iliuyuet/p/4387523.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!