`

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啦


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


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


1、对于string,number等基础类型,==和===是有区别的
1)不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等
2)同类型比较,直接进行“值”比较,两者结果一样

2、对于Array,Object等高级类型,==和===是没有区别的
进行“指针地址”比较

3、基础类型与高级类型,==和===是有区别的
1)对于==,将高级转化为基础类型,进行“值”比较
2)因为类型不同,===结果为false
分享到:
评论

相关推荐

    浅谈JS中的!=、== 、!==、===的用法和区别

    下面小编就为大家带来一篇浅谈JS中的!=、== 、!==、===的用法和区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

    js中!的用法是比较灵活的,它除了做逻辑运算常常会用!做类型判断,可以用!与上对象来求得一个布尔值, 1、!可将变量转换成boolean类型,null、undefined和空字符串取反都为false,其余都为true。 !null=true !...

    javascript中的用法与意思

    很实用的方法,刚学的分享下!<script type="text/javascript">

    基於jQuery的自動補全組件

    使用方法:$(document).ready(function(){ //設置延時,降低數據庫的負荷 var s; $("#materialNo").keyup(function(){ //按鍵碼 var e = event.keyCode; if(e!=40&&e!=38&&e!=13){ //清除延時 window....

    js上传图片并取色代码.zip

    部分js代码 [removed] (() => { let obj = {}; //获取DOM对象的方法 let $ = function(id){ return document.getElementById(id); } //获取预览图片路径 let getObjectURL = function...

    【JavaScript源代码】详解JavaScript中分解数字的三种方法.docx

    详解JavaScript中分解数字的三种方法  本文基于免费代码营基本算法脚本“分解数字” 在数学中,非负整数n的阶乘可能是一个棘手的算法。在本文中,我将解释这种方法,首先使用递归函数,第二种使用而循环,第三种...

    输出目录特定文件

    =".." && substr(strrchr($file, '.'), 1)!="php" ) { if ( substr(strrchr($file, '.'), 1)=="html" || substr(strrchr($file, '.'), 1)=="pdf" || substr(strrchr($file, '.'), 1)=="htm" ) { echo ...

    JS中的算法与数据结构之栈(Stack)实例详解

    主要介绍了JS中的算法与数据结构之栈(Stack),结合实例形式详细分析了js中栈的概念、原理、定义及常见使用方法,需要的朋友可以参考下

    javaScript中indexOf用法技巧

    JavaScript中的indexOf使用方法 概述 indexOf大小写敏感,其中的O要大写 对于字符串而言 indexOf返回字符串第一次出现的位置,若没有出现返回-1 var str = hello world; alert(str.indexOf(o))//显示4 ...

    使用JavaScript获取URL中的参数(两种方法)

    本文给大家分享两种方法使用js获取url中的参数,其中方法二是使用的正则表达式方法,大家可以根据需要选择比较好的方法,废话不多说了,直接看详细介绍吧。 方法一: //取url参数 var type = request("type") ...

    Javascript 判断客户端浏览器类型代码

    代码如下:[removed] /*详细方法1*/ function CheckBrowser() { var app=navigator.appName; var verStr=navigator.appVersion; //火狐浏览器 if (app.indexOf(‘Netscape’) != -1) { alert(“你使用的是...

    Javascript中typeof 用法小结

    = “undefined” ) {} 这个用法有误. 正确(的)是 if( typeof(document.mylist.length) != “undefined” ) {} 或 if( !isNaN(document.mylist.length) ) {} typeof(的)运算数未定义,返回(的)就是 “undefined”. ...

    changes:Changes.js是用于浅层比较和查找两个对象之间差异的辅助方法

    Changes.js是一种帮助程序方法,用于解决在测试状态之间的差异时经常出现的重复模式。描述使用React时,通常必须测试当前状态与先前状态之间的差异。 这方面的一个示例是shouldComponentUpdate方法。 测试模式通常以...

    求两个数组的交集,配合去重方法使用.html

    == -1 === arr2.indexOf(1) !== -1 条件不成立 不会把item返回到新的数组,进性下一次调用filter 第二次调用 item = 2 arr2.indexOf(item) !== -1=== arr2.indexOf(2) !== -1 条件成立 会把item添加到新的数组 ...

    Javascript风格向导

    =会进行隐式类型转换,所以建议使用===和!==。Objects得到的值是true。Undefined得到的值是false。Null得到的值是false。Booleans得到的值是Boolean值(呵呵,当然)。Numbers得到的值是:如果是+0,-0,或者NaN就是...

    versus:使用指定为字符串的比较运算符比较两个变量

    与.js 使用指定为字符串的比较运算符比较两个变量。 (这实际上抽象成可重用模块 。) 用法 versus ( 1 , '==' , 2 ) ;... Versus 使用进行==和!=比较。 所以我们可以这样做: versus ( { foo : 1 } ,

    with:编译时间为with with的严格模式下JavaScript

    和编译时with严格JavaScript模式安装$ npm install with用法var addWith = require ( 'with' ) ;addWith ( 'obj' , 'console.log(a)' ) ;// => ';(function (console, a) {// console.log(a)// }("console" in obj ?...

    JavaScript中undefined和null的区别

    JavaScript中undefined和null的区别 JavaScript两个表示”无”的值:undefined和null。我在平时只是null用的多一点,undefined只是在报错中经常遇到。下面针对这两个数据类型的异同做一下详细的比较。 1.undefined和...

    JS实现手写parseInt的方法示例

    手写parseInt的实现:要求简单一些,把字符串型的数字转化为真正的数字即可,但不能使用JS原生的字符串转数字的API,比如Number() 示例代码 function _parseInt(str, radix) { let str_type = typeof str; let ...

Global site tag (gtag.js) - Google Analytics