【js】 ==与===区别
1、对于string,number等基础类型,==和===是有区别的
严格运算符的运算规则 |
相等运算符 相等运算符在比较相同类型的数据时, 与严格相等运算符完全一样。 在比较不同类型的数据时, 相等运算符会先将数据进行类型转换,然后再用严格相等运算符比较 |
(1)不同类型值 如果两个值的类型不同,直接返回false。 |
(1)原始类型的值 原始类型的数据会转换成数值类型再进行比较。 字符串和布尔值都会转换成数值, 所以题主的问题中会有第二个string输出。 |
(2)同一类的原始类型值 同一类型的原始类型的值(数值、字符串、布尔值)比较时, 值相同就返回true,值不同就返回false。 |
(2)对象与原始类型值比较 对象(这里指广义的对象,包括数值和函数)与原始类型的值比较时, 对象转化成原始类型的值,再进行比较。 |
(3)同一类的复合类型值 两个复合类型(对象、数组、函数)的数据比较时, 不是比较它们的值是否相等,而是比较它们是否指向同一个对象。 |
(3)undefined和null undefined和null与其他类型的值比较时, 结果都为false,它们互相比较时结果为true。 |
(4)undefined和null undefined 和 null 与自身严格相等。
|
(4)相等运算符的缺点 相等运算符隐藏的类型转换,会带来一些违反直觉的结果。
这就是为什么建议尽量不要使用相等运算 |
作者:smile.轉角
QQ:493177502
【js】 ==与===区别的更多相关文章
- JQUERY与JS的区别
JQUERY与JS的区别 <style type="text/css"> #aa { width:200px; height:200px; } </style&g ...
- require.js与sea.js的区别
hi,感谢各位读者能够阅读我的文章. 下面为大家讲解一下require.js和sea.js的区别.纯属个人意见,不喜勿喷. 首先原理上的区别 sea.js遵循CMD规范.书写方式类似node.js的书 ...
- HTMl、CSS、JS的区别:
HTMl.CSS.JS的区别: Html:决定网页的结构和内容----[结构] Css:控制页面的表现样式,如:美化页面----[表现] Js:控制网页的行为,如:给页面加动态的效果----[行为]
- JSON与JS的区别以及转换
JSON是什么?(JSON和JavaScript对象有什么区别?)如何把JS对象转化为JSON字符串,又如何把JSON字符串转化为JavaScript对象? JSON (JavaScript Obje ...
- vue.js与angular.js的区别(个人)
刚进入实训 讲师就要发一些什么比较高大上的东西,本人才疏学浅 浅浅的分享一下angularjs 和vue.js的区别.只是简单的理解一下 大神勿喷. 生实训之前学习的angular.js 只是理解了 ...
- require.js和sea.js的区别
下面为大家讲解一下require.js和sea.js的区别.纯属个人意见,不喜勿喷. 首先原理上的区别 sea.js遵循CMD规范.书写方式类似node.js的书写模板代码.依赖的自动加载,配置的简洁 ...
- Java和js的区别,以及Java和c的区别
刚开始的时候我们也搞不清这些概念,不过后来就慢慢清晰了,首先和大家谈谈Java和js的区别,最简单的区别就是一个是后端,一个是前端. java是纯面向对象语言,javascrip其实和Java是完 ...
- jQuery与js的区别,并有基本语法详解,
通过过一下对比,我们能很清楚的发现jquery与js的区别,运用jquery能大量减少代码量,不过js里面关于时间的setinterval和settimeout只能用js <script src ...
- jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法
jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jq ...
- jQuery于js的区别和联系
一.什么是jQuery jQuery 是 js 的一个库,封装了我们开发过程中常用的一些功能,方便我们调用,提高开发效率. js库是把我们常用的功能放到一个单独的文件中,我们用的时候,直接引用到页面里 ...
随机推荐
- 如何调试Javascript代码以及网页代码
做过网页开发的都知道,不过你是用php还是asp.net以及java开发的网站,在开发过程中,web网页展示页面肯定会出现或多或少的问题.这里我推荐使用谷歌浏览器进行Web网页的调试以及错误信息定位. ...
- 简要描述 JavaScript 中定义函数的几种方式
JavaScript 中,有三种定义函数的方式: 1.函数语句:即使用 function 关键字显式定义函数.如: function f(x){ return x+1; } 2.函数定义表达式:也称 ...
- c# 获取本机IP
/// <summary> /// 获取本机IP /// </summary> /// <returns></returns> public stati ...
- SQL Server中锁与事务隔离级别
SQL Server中的锁分为两类: 共享锁 排它锁 锁的兼容性:事务间锁的相互影响称为锁的兼容性. 锁模式 是否可以持有排它锁 是否可以持有共享锁 已持有排它锁 否 否 已持有共享锁 否 是 SQL ...
- idea创建maven项目速度慢?别急,这有三种方案
困扰 Intellij idea是一款非常强大的编辑器,可以很方便地帮我们创建maven项目,有用过的同学应该都深有体会,但我们经常会遇到一个困扰,那就是用idea创建maven项目时,速度很慢,往往 ...
- socket、web socket
WEB SOCKET: 说明:为浏览器提供双工异步通信,浏览器可以向服务端发送消息.服务端也可以向浏览器发送消息. SOCKET: 说明:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接 ...
- python爬虫入门---第四篇:网站对爬虫的限制及突破测试
大部分网站对网络爬虫都有限制,限制方式有两种: 一.Robots协议:二.网站通过判断对网站访问http的头部信息来查看是否是爬虫,并对爬虫做相关拦截 第一种限制是书面限制,第二种是强制性阻拦限制.那 ...
- twindows下omcat8安装后,不能启动服务
原因可能是cmd安装时,不是以管理员的身份运行cmd命令的.解决办法,以管理员身份运行cmd,进入tomcat安装/解压的bin目录下,先执行 service.bat remove 命令卸载服务,之后 ...
- 修改 this 指向
封装函数 f,使 f 的 this 指向指定的对象 function bindThis(f, oTarget) { if(f.bind){ return f.bind(oTarget); }else{ ...
- 虚拟 DOM
虚拟DOM :virtual dom(以下简称vdom,是vue和react的核心),使用比较简单. 一,vdom是什么,为何会存在vdom 1,什么是vdom:用js模拟DOM结构,DOM操作非常‘ ...