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 相关文章推荐
jquery选择器(常用选择器说明)
Sep 28 Javascript
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
Oct 14 Javascript
jquery动画1.加载指示器
Aug 24 Javascript
最流行的Node.js精简型和全栈型开发框架介绍
Feb 26 Javascript
javascript中if和switch,==和===详解
Jul 30 Javascript
JavaScript简单实现鼠标移动切换图片的方法
Feb 23 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
Aug 15 Javascript
jQuery实现扑克正反面翻牌效果
Mar 10 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
Jul 18 Javascript
Vue.js标签页组件使用方法详解
Oct 19 Javascript
如何基于jQuery实现五角星评分
Sep 02 jQuery
JavaScript实现前端网页版倒计时
Mar 24 Javascript
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执行linux命令常用函数汇总
2016/02/02 PHP
symfony2.4的twig中date用法分析
2016/03/18 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
2017/07/04 PHP
PHP registerXPathNamespace()函数讲解
2019/02/03 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
IE与FireFox的兼容性问题分析
2007/04/22 Javascript
用JavaScript 处理 URL 的两个函数代码
2007/08/13 Javascript
jQuery自带的一些常用方法总结
2014/09/03 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
2016/09/09 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
JS插件plupload.js实现多图上传并显示进度条
2016/11/29 Javascript
Angular2下使用pdf插件的方法详解
2017/04/29 Javascript
记React connect的几种写法(小结)
2018/09/18 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
Python常见数据结构详解
2014/07/24 Python
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
Queue 实现生产者消费者模型(实例讲解)
2017/11/13 Python
解决每次打开pycharm直接进入项目的问题
2018/10/28 Python
浅谈python写入大量文件的问题
2018/11/09 Python
python word转pdf代码实例
2019/08/16 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
django模型动态修改参数,增加 filter 字段的方式
2020/03/16 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
编写python代码实现简单抽奖器
2020/10/20 Python
建筑工程自我鉴定
2013/10/18 职场文书
保险专业大专生求职信
2013/10/26 职场文书
小学教师的自我评价范例
2013/10/31 职场文书
硅酸盐工业控制专业应届生求职信
2013/11/02 职场文书
家长会演讲稿范文
2014/01/10 职场文书
2014年党风廉政建设工作总结
2014/11/19 职场文书
2014小学语文教师个人工作总结
2014/12/03 职场文书
Linux中Nginx的防盗链和优化的实现代码
2021/06/20 Servers
vue项目支付功能代码详解
2022/02/18 Vue.js
MutationObserver在页面水印实现起到的作用详解
2022/07/07 Javascript