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 相关文章推荐
ASP中用Join和Array,可以加快字符连接速度的代码
Aug 22 Javascript
js限制文本框为整数和货币的函数代码
Oct 13 Javascript
javascript跨域的方法汇总
Oct 23 Javascript
jQuery Validate插件实现表单强大的验证功能
Dec 18 Javascript
javascript创建cookie、读取cookie
Mar 31 Javascript
纯JS实现可拖拽表单的简单实例
Sep 02 Javascript
JS中检测数据类型的几种方式及优缺点小结
Dec 12 Javascript
微信小程序(三):网络请求
Jan 13 Javascript
javaScript嗅探执行神器-sniffer.js
Feb 14 Javascript
Angularjs实现控制器之间通信方式实例总结
Mar 27 Javascript
vue使用ajax获取后台数据进行显示的示例
Aug 09 Javascript
vue项目添加多页面配置的步骤详解
May 22 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
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
php学习笔记 PHP面向对象的程序设计
2011/06/13 PHP
php入门学习知识点一 PHP与MYSql连接与查询
2011/07/14 PHP
php随机输出名人名言的代码
2012/10/07 PHP
通过dbi使用perl连接mysql数据库的方法
2014/04/16 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
解决php extension 加载顺序问题
2019/08/16 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
2019/10/11 PHP
向左滚动文字 js代码效果
2013/08/17 Javascript
jquery动态加载js/css文件方法(自写小函数)
2014/10/11 Javascript
javascript使用正则表达式实现去掉空格之后的字符
2015/02/15 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
理解javascript封装
2016/02/23 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
Angular(5.2->6.1)升级小结
2018/12/27 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
Python中的高级数据结构详解
2015/03/27 Python
python使用append合并两个数组的方法
2015/04/28 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
Python 内置函数complex详解
2016/10/23 Python
浅谈scrapy 的基本命令介绍
2017/06/13 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
python的staticmethod与classmethod实现实例代码
2018/02/11 Python
python中的字符串内部换行方法
2018/07/19 Python
python 实现返回一个列表中出现次数最多的元素方法
2019/06/11 Python
python global关键字的用法详解
2019/09/05 Python
python中pyplot基础图标函数整理
2020/11/10 Python
战友聚会邀请函
2014/01/18 职场文书
《在家里》教后反思
2014/03/01 职场文书
师恩难忘教学反思
2014/04/27 职场文书
5s标语大全
2014/06/23 职场文书
社会工作专业求职信
2014/07/15 职场文书
企业员工爱岗敬业演讲稿
2014/08/26 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书