js 操作符汇总


Posted in Javascript onNovember 08, 2014

逻辑或(||)

var result = true || false;
与逻辑与操作相似,如果有一个操作数不是布尔值,逻辑或也不一定返回布尔值;此时,它遵循下列规则:
□ 如果第一个操作数是对象,则返回第一个操作数。

□ 如果第一个操作数求值为false,则返回第二个操作数。

□ 如果两个操作数都是对象,则返回第一个操作数。

□ 如果两个操作数都是null,返回null

□ 如果两都为undefined,返undefined。

□ 如果两都为NaN,返NaN

“===”与“==”的区别

相等操作符(==)

相等操作符会对操作值进行隐式转换后进行比较:

如果一个操作值为布尔值,则在比较之前先将其转换为数值
如果一个操作值为字符串,另一个操作值为数值,则通过Number()函数将字符串转换为数值
如果一个操作值是对象,另一个不是,则调用对象的valueOf()方法,得到的结果按照前面的规则进行比较
null与undefined是相等的
如果一个操作值为NaN,则相等比较返回false
如果两个操作值都是对象,则比较它们是不是指向同一个对象。如果两个操作数都指向同一个对象,则相等操作符返回true,否则,返回false
下面分别说明:
先说 ===,这个比较简单。下面的规则用来判断两个值是否===相等:
1、如果类型不同,就[不相等]
2、如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断)
3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。
4、如果两个值都是true,或者都是false,那么[相等]。
5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。
6、如果两个值都是null,或者都是undefined,那么[相等]。

再说 ==,根据以下规则:
1、如果两个值类型相同,进行 === 比较。
2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:
a、如果一个是null、一个是undefined,那么[相等]。
b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。
c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。
d、如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。js核心内置类,会尝试valueOf先于toString;例外的是Date,Date利用的是toString转换。非js核心的对象,令说(比较麻烦,我也不大懂)
e、任何其他组合,都[不相等]。

表达式 值 表达式 值
null==undefined true true==1 true
"NaN" ==NaN false $null==0 false
false==0 true NaN!=NaN true
简而言之就是“==”只要求值相等。“===”要求值和类型都相等。

资料来源于javascript高级程序设计,整理下,后续更新js 操作符汇总

Javascript 相关文章推荐
IE、FF、Chrome浏览器中的JS差异介绍
Aug 13 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
Mar 31 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
Jan 19 Javascript
javascript 中的try catch应用总结
Apr 01 Javascript
详解angularJS自定义指令间的相互交互
Jul 05 Javascript
Vue仿今日头条实例详解
Feb 06 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
May 20 Javascript
Vue实现星级评价效果实例详解
Dec 30 Javascript
VSCode launch.json配置详细教程
Jun 18 Javascript
javascript实现支付宝滑块验证码效果
Jul 24 Javascript
vue使用swiper实现左右滑动切换图片
Oct 16 Javascript
VUE解决跨域问题Access to XMLHttpRequest at
May 06 Vue.js
jquery的总体架构分析及实现示例详解
Nov 08 #Javascript
jquery常用方法及使用示例汇总
Nov 08 #Javascript
JQuery遍历json数组的3种方法
Nov 08 #Javascript
JQuery中使用.each()遍历元素学习笔记
Nov 08 #Javascript
jQuery遍历之next()、nextAll()方法使用实例
Nov 08 #Javascript
jQuery遍历对象、数组、集合实例
Nov 08 #Javascript
JavaScript中具名函数的多种调用方式总结
Nov 08 #Javascript
You might like
PHP小教程之实现链表
2014/06/09 PHP
调试PHP程序的多种方法介绍
2014/11/06 PHP
Yii扩展组件编写方法实例分析
2015/06/29 PHP
CodeIgniter配置之routes.php用法实例分析
2016/01/19 PHP
php中各种定义变量的方法小结
2017/10/18 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
2018/01/21 PHP
javascript各种复制代码收集
2008/09/20 Javascript
jQuery提交表单ajax查询实例代码
2012/10/07 Javascript
js实现一个省市区三级联动选择框代码分享
2013/03/06 Javascript
使用jQuery仿苹果官网焦点图特效
2014/12/23 Javascript
jQuery统计指定子元素数量的方法
2015/03/17 Javascript
超链接怎么正确调用javascript函数
2016/05/23 Javascript
bootstrap模态框实现拖拽效果
2016/12/14 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
vue学习之mintui picker选择器实现省市二级联动示例
2017/10/12 Javascript
vue+element实现批量删除功能的示例
2018/02/28 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
2020/07/28 Javascript
[54:18]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第一场 1月22日
2021/03/11 DOTA
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
python下解压缩zip文件并删除文件的实例
2018/04/24 Python
numpy.linspace 生成等差数组的方法
2018/07/02 Python
python 五子棋如何获得鼠标点击坐标
2019/11/04 Python
CSS3制作半透明边框(Facebox)类似渐变
2012/12/09 HTML / CSS
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
师说教学反思
2014/02/07 职场文书
大学班级文化建设方案
2014/05/06 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
二年级作文之动物作文
2019/11/13 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
SQL 窗口函数实现高效分页查询的案例分析
2021/05/21 SQL Server
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android