关于if的判断

在js中,if的判断是遵循一定原则的,括号内的表达式会被强制转化为布尔类型,输出为True或者False。对于不同中类型的表达式JS有不同的输出。

  对于类型为Undefined和Null表达式,输出结果为false

  对于类型为Object的表达式,直接输出结果为True

  对于类型为Boolean的表达式,直接判断结果为True 或者False

  对于类型为Number订单表达式,除非是+0,-0或者是NAN结果为False,其余Number输出结果都是True

  对于类型为String的表达式,除了空字符结果为False,其余输出都是True

关于==的判断

  相比if的判断,在js中关于==的判断就相对复杂

  例如==的左右分别为X和Y,有如下规则:

  若X是null,Y是undefined,则输出结果为True

  若x是number,Y是string ,则将字符串转换为数字再进行判断,

  若x是boolean,Y是其他类型,则先将Boolean转换为数字再进行判断

  若x是Object,Y是Number或者String,则先将对象转化为字符串或数字,再进行判断

  除了上述几种类型,其余的输出结果都是False

js的if判断,关于==的判断相关推荐

  1. js数据类型判断和数组判断

    随笔记录: js六大数据类型:number.string.object.Boolean.null.undefined 判断数据类型 :typeof typeof可以解决大部分的数据类型判断,是一个一元 ...

  2. 小程序 : js获取今日日期、加日期、减日期; 判断今日 、判断昨日

    获取今日,日期加.日期减 效果图: 选择日期大于今日时 .js代码 Page({/*** 页面的初始数据*/data: {choseDate: '', // 选择的时间week:'', //星期几on ...

  3. js中if到底该如何判断变量为空?

    我们项目中常常需要判断一些变量是否为空,但是由于js的机制找不到很好的方法去统一判断方式,我们不妨先了解一下js中if判断机制 if判断机制 js中if会把非 Boolean 表达式转换为 Boole ...

  4. 用js来判断用户端浏览器(判断QQ浏览器、谷歌浏览器)方法

    用js来判断用户端浏览器(判断QQ浏览器.谷歌浏览器)方法 function getBrowserInfo(){ var ua = navigator.userAgent.toLocaleLowerC ...

  5. 利用Turf.js实现点线面几何体的拓扑关系判断

    通过官网http://turfjs.org/或者github https://github.com/Turfjs/turf了解 第一步:先引用js文件 <script src='https:// ...

  6. js 将完整的浏览器型号判断

    转载于小米某平台js /*** * @desc UA判断* 1.设备判断:* 1) IPhone_IPod* 2) IPad* 3) Android(包括非小米Android判断)* 4) MIPho ...

  7. JS笔记 (四)数组,json对象,数据类型 ,if 判断,swich 判断,三目运算 判断

    一.数组 数组按照顺序来存储数据,都是有序地排序起来的. 创建数组 //用逗号分开每一条储存的数据: var arr = [5,2,0,1,3,1,4];访问数组里面的内容 console.log(a ...

  8. JS字符串单双字节长度判断

    JS字符串单双字节长度判断 1.根据字符的 Unicode 编码判断,编码大于255为双字节占 2 个字节长度,编码小于等于255为单字节占 1 个字节长度. strLength = (str) =& ...

  9. js小白操作:判断空值、判断数组最大最小值、判断map是否为空、字符串转int、取float型小数点后两位数、判断数组中是否包含某个对象

    js小白操作:判断空值.判断数组最大最小值.判断map为空的情况.字符串转int Js基础操作 一.判断空值 undefined 和 null 二.判断map是否为空 三.取数组最大最小值 1.使用 ...

  10. java 时间判断大小_java判断时间大小

    //构造日期格式yyyy-MM-NN SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Date d ...

最新文章

  1. hadoop2.2.0 集群安装配置
  2. Zabbix 3.2.6 升级到 Zabbix 3.4.3
  3. c++中多态---3(虚析构和纯虚析构,向上类型转化和向下类型转化)
  4. 用Navicat管理MySQL数据库
  5. 优秀作品展示:15个使用了漂亮字体的网站
  6. C++经典面试题(基础算法版)
  7. db2和oracle更新xml大字段
  8. Win10右键添加获取管理员权限
  9. Mac上emacs gpg: 无法检查签名:没有公钥
  10. 93. 复原IP地址
  11. SVM-支持向量机算法概述
  12. 真 Navicat Premium 12.0.27 for Mac 破解版
  13. word总页数不包含封面_Word技巧:除去封面后,总页码减1是如何设置的?
  14. 大龄程序员的成长之路
  15. 华为机试OD真题 javaScript和java 叠积木 堆积木
  16. 蓝桥杯 算法训练 学做菜
  17. [Oracle] 一个通过添加本地分区索引提高SQL性能的案例
  18. 大事•Pandownload凉了
  19. 问号在c语言里面的作用,问号的作用是什么-写作基础知识
  20. Hadoop-3.xx单机和集群安装教程

热门文章

  1. ie11 .pac代理脚本无法使用的问题
  2. Redis选择数据库分区
  3. pdf是什么?pdf文件又该怎么进行编辑?
  4. Android 如何修改默认输入法
  5. MySQL高速缓存——Redis
  6. 金融量化— 简单均值回归策略(Mean Reverting Strategy)
  7. 材料工程与科学和计算机的关系,这6大工科专业名称相同,不同高校的培养方向却截然不同...
  8. Ubuntu 18.04 配置privoxy代理
  9. jq 正则表达式验证手机号和固定电话号
  10. 中国电信频段测试软件,最全整理!四大运营商频段使用情况