一、关系运算符  (< <= > >= == === != !==)

判断符号左右的两个数据的大小之间的关系,运算结果是一个布尔类型的值

==   只判断值

===即判断值并且判断数据类型

!=   只判断值    只要值不相等,就返回true

!==   判断值和数据类型,值或数据类型不相等,运算结果就为true ,值和数据类型都一样,运算结果为false

布尔值和数字做比较时,true转化成了1,false转化成了0

二、逻辑运算符(&& ||  !)

判断符号左右两端条件的逻辑关系

一般情况下,逻辑运算符都是在做布尔数据类型的逻辑运算(结合关系运算符)

逻辑运算符的值一般也为一个布尔类型的值

三、短路

&&:一遇到false,之后的运算停止,运算结果直接为false

||:一遇到true,之后的运算停止,运算结果直接为true

四、优先级

赋值运算符<逻辑运算符<关系运算符<算数运算符

五、逻辑运算符两边不是布尔类型的数据

运算时会将其它数据类型的值先转为布尔值,再进行运算

数值的0、-0,特殊值的null、undefined、NaN以及空墨盒字符串会转为false,其它的值则会被转为true

11 && 3---------true && true -------3  (比较时都转为了true,返回结果时由于&&左右两边的数据类型都不是布尔值,于是返回了判断时最后一个为true的值)

0 && 3 ----------false && true------0  (比较时左边0转化为了false,短路,直接返回false,由于左边的值不是布尔值,于是返回了0)

11 || 3-------------11 (||运算一遇到true就短路)

33 && 0 && 10----------0

0 || 0 || 20 ----------------20

33 && 5 || 7------------------5

3 && 0 || 6

六、JS是弱类型语言

1、数据类型可以转化

2、变量在赋值时才确定数据类型

七、复合运算符+= -= *= /= %=
八、赋值运算符 =
九、算术运算符 + - * / %
十、三目运算符(所有的if else语句都可以转为三目运算符)
条件 ? 结果1 : 结果2  
判断条件1的布尔值。布尔值为true则返回结果1,布尔值为false则返回结果2
JS弱语言的转义

1、JS是一门弱类型的语言,在做加运算时"+"左右两边必须都是Number类型的数据,只要有一边是字符串,就做的时字符串的拼接。

2、通过JS代码获取到的页面中的输入域(textarea\input)的value值,是一个字符串类型的数据,无论输入的是什么

3、JS中除了"+"运算符,其余的运算符(- * / %)运算时,如果符号两端是字符串,会先将字符串转为Number类型,再做数学运算

4、如果一个字符串中含有除数字外的英文字母,做运算转化为Number类型时,字母无法转为数字,最终会得到NaN

5、NaN和“+”做运算,是字符串的拼接,NaN和其余的算术运算符(- * / %)做运算,得到的都是NaN

NaN+"11"  //   "NaN11"

NaN-11     //   NaN

6、NaN 和任何数据做关系运算,得到的都是false

NaN>0   // false

 

"abcd"-12             //  NaN

"abcd1234"-12     //NaN

转载于:https://www.cnblogs.com/liankong/p/10555808.html

二、JS运算符、NaN相关推荐

  1. JS中NaN、NULL、undefined、详解

    NaN:保留字(表明数据类型不是数字) undefined:对象属性或方法不存在,或声明了变量但从未赋值. 即当你使用了对象未定的属性或者未定义的方法时或当你声明一个变量,但你确从未对其进行赋值,便对 ...

  2. JS运算符详解与优先级

    JS运算符详解与优先级 算术运算符 赋值运算符 一元运算符 比较运算符 逻辑运算符 运算符优先级 算术运算符 + 求和 - 求差 * 求积 / 求商 % 求余 取模 乘除取余优先级相同,加减优先级相同 ...

  3. js运算符单竖杠“|”的用法和作用及js数据处理

    js运算符单竖杠"|"的作用 很多朋友都对双竖杠"||",了如指掌,因为这个经常用到.但是大家知道单竖杠吗?今天有个网友QQ问我,我的 javascript实用 ...

  4. JavaScript深入【表达式和运算符(上集)】你能过我8关js运算符的题目吗?

    博主留言 (茗洋芳竹) 每一个高手成功之路,都要学会怎样与孤独打交道 .我是个傻孩子,孤独竟然是我的夫人,每天晚上都会坐在我旁边看我学习,写博客.马上要离开ASP.NET生涯,投奔PHP了,一切都是那 ...

  5. 前端:JS/18/JS运算符(算术运算符,赋值运算符,字符串运算符,比较运算符,逻辑运算符,三元运算符),window.prompt()

    JS运算符 要进行各种各样的运算,就要使用不同的运算符号. 1,算术运算符:+ - * / % ++ -- + :加法运算符 - :减法运算符 * :乘法运算符 / :除法运算符 % :取余运算符,返 ...

  6. Java运算符使用、单目、二目运算符、数据类型精度运算问题等

    前言:   Java提供了丰富的运算符,例如算术运算符.关系运算符.逻辑运算符.位运算符等:      其中又分有单目运算符和二目运算符: 一.单目运算符:只对单独一个操作元(变量)进行操作: --- ...

  7. c语言二目运算符. -

    c语言二目运算符. ->

  8. 二目运算符是什么意思?

    二目运算符又称双目运算符 双目,两个运算数 a+b a-b axb 单(一).二.三 是指参与运算的对象(变量)的数量,例如: ++.–都是单目操作符,因为它们只要求一个变量. +.*./都是双目操作 ...

  9. JavaScript学习笔记:JS运算符重载

    1.定义   在了解运算符重载之前,先了解一下重载.重载是指可使函数.运算符等处理不同类型数据或者接受不同个数参数的一种方法.   函数重载是指函数名相同,函数参数个数或者参数类型不同,以至于返回类型 ...

  10. JavaScript(JS) Number.NaN

    Number对象表示数字日期,可以是整数也可以是浮点数.通常,不需要担心Number对象,因为浏览器会自动将Number字面量转换为Number类的实例.本文主要介绍JavaScript(JS) Nu ...

最新文章

  1. 为什么「反向传播」一定要在生物学上有对应?
  2. 5个找出Linux中“二进制命令”描述和系统中位置的方法
  3. 利用ServletFileUpload组件上传文件
  4. mybatis association表关联与rowbounds共同使用时的异常及其解决方案
  5. java版我的世界光追,老瓶装新酒 光追版《我的世界》将至你心动了吗
  6. java语言采用16位颜色标准_华为Java笔试题一
  7. 今日头条架构演进之路
  8. 闪电网络开启BTC支付时代?他们不同意
  9. 全新版大学英语综合教程第二册学习笔记(原文及全文翻译)——1 - Learning, Chinese-Style(中国式的学习风格)
  10. java微服务架构师,兴业数金Java笔试题
  11. bp神经网络的主要功能,BP神经网络的实现包括
  12. matlab 空集判定,在使用matlab 符号运算中的solve函数时,为啥计算的结果是空集?该怎么办?...
  13. UE5打包失败:AutomationTool exiting with ExitCode=-532462766 解决方法
  14. 这次GDC China 2015的总结与关卡设计教程的梳理
  15. 通俗易懂告诉你:何为95%置信区间?
  16. openpsoe 代码解读(一)
  17. python爬虫之selenium的使用
  18. 千里马常有,而伯乐不常有
  19. svn用户名和密码都正确,但是登录不了
  20. 计算机三级网络技术第八章(第一轮)

热门文章

  1. Verilog实现交通灯(数电课设)-----新--及对于状态机的理解
  2. zabbix企业应用之固定端口监控memcache
  3. 自定义beans.xml文件实现Spring框架
  4. java 重定向关键字_springboot实现转发和重定向
  5. 使用Mapnik生成地形图——thematicmapping.org译文(四)
  6. VirtualBox启动失败,The VM session was aborted.
  7. .net上传大文件不成功
  8. 缓冲区分析—ArcGIS API for JavaScript
  9. Android杂谈--ListView之BaseAdapter的使用
  10. 计算机应用基础操作演示,计算机应用基础上机操作题