js !!条件判断或运算的作用

今天看到一个判断语句非常奇怪:

1 if(!!selected){} //为什么是双‘!‘号呢?

自己查了下资料终于明白了这其中的原理:

原来‘!!‘会将表达式转为Boolean类型的数据。

如果‘!undefined‘ //得到的是true但是为了防止值等于undefined的时候不为true的话我们可以使用‘!!‘进行判断;

其实‘!!‘就是为了排除{非null/undefined/0/‘‘} 等值;

var obj = {flag:true};
var demo = !!obj.flag; // demo 等于true

  

时间: 2024-10-19 03:04:32

js !!条件判断或运算的作用的相关文章

JS条件判断小技巧

经常code review,我发现很容易写出一堆冗长的代码.今天就列几个比较常见的“解决之道”,看看如何减少JS里的条件判断. 提前返回,少用if...else 但是过多的嵌套,还是挺令人抓狂的.这里有一个很典型的条件嵌套: function func() { var result; if (conditionA) { if (condintionB) { result = 'Success'; } else { result = 'Error1'; } } else { result = 'E

js条件判断时隐式类型转换

Javascript 中,数字 0 为假,非0 均为真 在条件判断运算 == 中的转换规则是这样的: 如果比较的两者中有布尔值(Boolean),会把 Boolean 先转换为对应的 Number,即 0 和 1,然后进行比较. 如果比较的双方中有一方为 Number,一方为 String时,会把 String 通过 Number() 方法转换为数字,然后进行比较. 如果比较的双方中有一方为 Boolean,一方为 String时,则会将空字符串""转换为 false,除此外的一切字符

linux基础之shell编程(2)-条件判断,算数运算,测试

bash中如果实现条件判断? 条件测试类型 整数测试 字符测试 文件测试 条件测试的表达式 有三种 [ expression ] --方括号与表达式之间一定要有一个空格 [[ expression ]] test expression 整数测试 -eq: 测试两个整数是否相等 例:$A -eq $B -ne: 测试两个整数是否不等 不等为真,相等为假 -gt: 测试一个数是否大于另一个数:大于,为真:否则,为假: -lt: 测试一个数是否小于另一个数:小于,为真:否则,为假: -ge: 大于或等

js条件判断

一.if else 条件判断 if(条件表达式) //如果条件表达式为true,执行此处的语句 }else{ //如果条件表达式为false,执行此处的语句 } if(1){ console.log( true ); }else{ console.log( false ); }//true 注意:条件表达式最后都转化成布尔型,0表示false,大于等于1表示true. 字符串有空格和无空格 var i='king'; var j='king ';//空格区别 if(username==a){ d

js 条件判断放大字体

<html> <head> <meta charset="utf-8" /> <title></title> <script type="text/javascript"> window.onload=function(){ var btn1=document.getElementById('btn1'); var btn2=document.getElementById('btn2'); va

MYSQL数据类型和where条件判断

MySQL中常见的数据类型 一.字符型 ① CHAR(N):固定N个字符长度的字符串,如果长度不够自动空格补齐; N的范围 0~255 ② VARCHAR(N): 存储可变长度的字符串,最常用 ③ TEXT: 存储可变长度的字符串,(常用于发布文章等大段内容) ④ TINYTEXT:0~2^8-1 *10 ⑤ MEDIUMTEXT: 0~2^24-1 *10^3; ⑥ LONGTEXT: 0~2^32-1 * 10^4;二.整形: ① TINYINT: 无符号0~2^8-1 有符号 -2^7 ~

js运算符及if,switch条件判断

js中的运算符大体上可以分为4类:1算术运算符.2一元操作符.3比较运算符.4逻辑运算符. 算术运算符一般指的是加减乘除求余这五种操作符:+,-,*,/,%.通过算术运算符可以对js中的变量进行操作.如: var a=66,b,c,d,e,f; b= a+10; //70 c=a-10; //56 d=a*10; //660 e=a/10; //6.6 f=a%4; //2 一元操作符指的是只能操作一个值的操作符:如i++,i--,++i,--i;在这里要注意区别i++与++i: var a=1

PHP和JS在循环、条件判断中的不同之处

一.条件判断: php中算  false 的情况 1. boolean:false 2. 整形:0 3.浮点型:0 4.字符串:"" "0"(其他都对) 5.空数组 6.空对象为真(只在php4算false,其他版本都算true) 7.null和尚未定义的变量 8.所有资源都算对,除php4,所有对象也算对 JS中if()中的表达式 1. Boolean: true 真 false 假 2. String:非空字符串为真 空字符串为假 3. Null/NaN/Und

Sass学习笔记 -- 初步了解函数、运算、条件判断及循环

函数 sass定义了很多函数可供使用,当然你也可以自己定义函数,以@fuction开始.sass的官方函数链接为:sass fuction,实际项目中我们使用最多的应该是颜色函数,而颜色函数中又以lighten减淡和darken加深为最,其调用方法为lighten($color,$amount)和darken($color,$amount),它们的第一个参数都是颜色值,第二个参数都是百分比. //scss $baseFontSize:      10px !default; $gray: