JS中,!=, !== 和 !的区别和使用场景

var num = 1;

var str = ‘1‘;

var test = 1;

test == num   //true 相同类型 相同值

test === num  //true 相同类型 相同值

test !== num  //false test与num类型相同,其值也相同, 非运算肯定是false

num == str   //true  把str转换为数字,检查其是否相等。

num != str   //false  == 的 非运算

num === str  //false  类型不同,直接返回false

num !== str  //true   num 与 str类型不同 意味着其两者不等 非运算自然是true

注意:

== 和 != 比较若类型不同,先偿试转换类型,再作值比较,最后返回值比较结果

而 === 和 !== 只有在相同类型下,才会比较其值

双引号比单引号稍稍耗费点系统资源,因为双引号还需要负责某些特殊代码的转换工作,如 \n 及 \r 等。
其它时候,都是一样的。 
所以,一般建议不包含转义字符的字符串,就用单引号来处理。

时间: 2024-08-28 00:18:46

JS中,!=, !== 和 !的区别和使用场景的相关文章

js中==和===的区别

前两天遇到一道面试题,甚为不解,于是学习了下. 题目: <script> var x=5 ; var y='5' ; alert(x == y) ; alert(x !== y) ; alert(x === y) ; </script> 结果输入为:true true false 为什么呢? 首先要理解: == ,===区别 ==两边值类型不同的时候,要先进行类型转换,再比较. ===不做类型转换,类型不同的一定不等. ==和===的规则如下: 先说===,这个比较简单,具体比较规

js中!和!!的区别及用法

js中!的用法是比较灵活的,它除了做逻辑运算常常会用!做类型判断,可以用!与上对象来求得一个布尔值,1.!可将变量转换成boolean类型,null.undefined和空字符串取反都为false,其余都为true. 1 !null=true 2 3 !undefined=true 4 5 !''=true 6 7 !100=false 8 9 !'abc'=false 2.!!常常用来做类型判断,在第一步!(变量)之后再做逻辑取反运算,在js中新手常常会写这样臃肿的代码:判断变量a为非空,未定

js中null &quot; &quot;的区别

var val=text.value; if(val=="") alert("请输入内容哦!"); var val=text.value; if(val==null) alert("请输入内容哦!"); var val=text.value; if(!val) alert("请输入内容哦!"); 这些意味着"空"的语句之前一直困扰着我,,分不清啊!!在一番了解后,写下他们的区别: val== ''   &q

在js中==和===的区别

“==”:叫相等运算符 “===”:叫严格运算符 它们两有什么区别呢? == :表示值相等则都为true ===:表示 不仅要值相等,双方类型也要相等才为true 例子如下: js代码如下: // “==”比较测试,只要内容相同 console.log(1 == 1);//两个参数都是数字1作比较,打印结果为true console.log(1 == '1');//两个参数一个是数字1,一个是字符1,打印结果也为true // "==="比较测试,不仅要类型相同,类型也要相同 cons

Js 中 == 与 === 的区别

1.对于string,number等基础类型,==和===是有区别的 1)不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等 2)同类型比较,直接进行“值”比较,两者结果一样 2.对于Array,Object等高级类型,==和===是没有区别的 进行“指针地址”比较 3.基础类型与高级类型,==和===是有区别的 1)对于==,将高级转化为基础类型,进行“值”比较 2)因为类型不同,===结果为false

JS中“==”和“===”的区别(未完成)

1.为什么讨论这个问题? - 有个说法,尽量不用==,而使用===,是这样吗? 2.分析问题,原理是什么? 下面说说ECMAScript 5 language specification里的说明: 1)两种比较方法 全等号===只考虑类型相同的值的比较,不同类型使用===进行比较,返回false 双等号==会先将不同类型的值转为相同类型,然后使用全等号进行比较. 使用双等号会有两个问题: ● 转换规则可能不是你期望的那样 ● 由于双等号是宽容的,类型错误可能会被忽略掉. 2)全等号===(严格等

js中const,var,let区别

今天面试,被问了个问题,const, var, let的区别,当时就懵圈了,var 知道,const.let 是什么鬼??? 回来一百度,找到一篇通俗易懂的介绍,先取之收藏,以备忘.主要内容是:js中三种定义变量的方式const, var, let的区别. 摘自:http://www.cnblogs.com/ksl666/p/5944718.html 1.const定义的变量不可以修改,而且必须初始化. 1 const b = 2;//正确 2 // const b;//错误,必须初始化 3 c

JS中NULL和undifined区别及NULL的作用

1.博客地址:http://www.cnblogs.com/eastday/archive/2010/03/03/1677324.html 2.参考地址2:https://www.zhihu.com/question/35677602/answer/63984217 JS中Null与Undefined的区别 在JavaScript中存在这样两种原始类型:Null与Undefined.这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined?

js中callback.call()和callback()的区别

js中callback.call()和callback()的区别在js中callback.call()和callback() 有什么区别,举个例子:function a(){alert('hello!');}function b(callback){callback();}function c(callback){callback.call();}function test(){b(a);c(a);}在test函数中,b和c的效果是一样的,都执行了回调函数a.这两种用法有什么区别呢? -----

js中return、return true、return false的区别

js中return.return true.return false;区别 一.返回控制与函数结果, 语法为:return 表达式; 语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果  二.返回控制, 无函数结果,语法为:return;  在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页.    Return False 就相当于终止符,Return True 就相当于执行符.