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 相关文章推荐
JavaScript的Module模式编程深入分析
Aug 13 Javascript
使用jQuery动态加载js脚本文件的方法
Apr 03 Javascript
jQuery 遍历函数详解
Jul 05 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
Jan 12 Javascript
js实现可控制左右方向的无缝滚动效果
May 29 Javascript
基于d3.js实现实时刷新的折线图
Aug 03 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
Mar 11 Javascript
vue如何安装使用Quill富文本编辑器
Sep 21 Javascript
JavaScript实现Excel表格效果
Feb 07 Javascript
JavaScript鼠标拖拽事件详解
Apr 03 Javascript
Nuxt.js 静态资源和打包的操作
Nov 06 Javascript
浅谈es6中的元编程
Dec 01 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
在DC的漫画和电影中,蝙蝠侠的宿敌,小丑的真名是什么?
2020/04/09 欧美动漫
php格式化日期和时间格式化示例分享
2014/02/24 PHP
PHP APC配置文件2套和参数详解
2014/06/11 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
讲解JavaScript中for...in语句的使用方法
2015/06/03 Javascript
JS组件中bootstrap multiselect两大组件较量
2016/01/26 Javascript
详解Bootstrap插件
2016/04/25 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
2016/06/07 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
bootstrap table插件动态加载表头
2019/07/19 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
[10:42]Team Liquid Vs Newbee
2018/06/07 DOTA
python新手经常遇到的17个错误分析
2014/07/30 Python
Python内置函数dir详解
2015/04/14 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
用Django写天气预报查询网站
2018/10/21 Python
python变量的存储原理详解
2019/07/10 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
Python调用REST API接口的几种方式汇总
2020/10/19 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
css3实现波纹特效、H5实现动态波浪效果
2018/01/31 HTML / CSS
mui几种页面跳转方式对比总结概括
2017/08/18 HTML / CSS
全球最大化妆品零售网站:SkinStore
2020/10/24 全球购物
教育学专业实习生的自我鉴定
2013/11/26 职场文书
中年人生感言
2014/02/04 职场文书
2014年消防工作实施方案
2014/02/20 职场文书
社会实践评语
2014/04/28 职场文书
精神文明单位申报材料
2014/05/02 职场文书
建筑安全标语
2014/06/07 职场文书
2015元旦文艺汇演主持稿(开场白+结束语)
2014/12/14 职场文书
家属答谢词
2015/01/05 职场文书
初一英语教学反思
2016/02/15 职场文书