web学习笔记(十二)

简介: web学习笔记(十二)

1.运算符

1.1算术运算符

二元运算符

运算符

描述

实例

+

10 + 20 = 30

-

10-20 = -10

*

10*20 = 200

/

10/20 = 0.5

%

取余数(取模)

返回除法的余数9%2 = 1

不要直接判断两个浮点数是否相等,浮点数的精确度不如整数。

一元运算符

运算符

描述

实例

++

自增(也是一元运算符)

x=++y

x=y++

--

自减(也是一元运算符)

x=--y

x=y--

  • 当不参加其他运算,只是自身增加和减小时,前置和后置是一样的,一但参与了其他运算(赋值也算运算)两者就会产生不同的效果。
  • 后置:  a++    先赋值,再自增(自减)------先人后己
  • 前置:   ++a    先自增(自减),再赋值。--------先己后人
  • 数字是常量没有自增自减,只有变量才有自增自减。
  • 开发时,大多使用后置递增/减,并且代码独占一行,例如:num ++;或者num--;

1.2比较运算符(关系运算符)

image.png

比较运算符(关系运算符)是比较两个值,比较运算后,会返回布尔值(true / false )作为比较运算的结果。

运算符名称

  • 当<两边都是字符串时比较都是ascii码,并且是一位一位的进行比较
  • 当<一边是数字,一边是数字字符串时,会默认转数据类型,然后再对两边的数值进行比较,最终返回一个布尔值。
  • 在比较时true转换为1,false转换为0;
  • NaN不是一个数,但是一个值,与自身都不相等,两个NaN进行比较时,返回false。
  • undefined和谁比都是false,但是和null进行比较时返回true。
  • null可以通过大于号和小于号来转换数据类型(转换后值为0),但不可以通过等号来转换数据类型
        console.log(NaN==NaN);//false
        console.log(undefined>-1);//false
        console.log(undefined==null);//true
        console.log(null>-5);//true
        console.log(null==0);//false
        console.log(''==false);//true

1.3赋值运算符

赋值运算符的优先级比较低,不是最低,但低于别的运算符。 image.png

1.4逻辑运算符

概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断

运算符名称

image.png &&逻辑与:

  • 运算符两边,同真则真,有假则假。
  • 运算符两边的操作数两边如果有一个是布尔值,结果不一定是布尔,可能是原值 。
  • 短路逻辑:运算符的两侧的操作数,如果第一个操作数是假,后面不再执行,直接返回第一个操作数结果。     如果第一个操作数是真,则由第二个操作数来决定结果。
  • || 逻辑或 :
  • 运算符两边有真则真,同假则假。
  • 如果第一个操作数是真,直接返回第一个操作数的结果。   如果第一个操作数是假,由第二个操作数来决定结果
  • &&优先级高于||
  • 短路逻辑:运算符两侧的操作数,如果第一个操作数是真,后面不再执行,直接返回第一个操作数的结果有,如果第一个操作数是假的话,由后面的操作数来决定结果。

!逻辑非  :就是进行取反操作,如true的相反值是false。

1.5条件运算符

     格式:  判断条件? value1;value2 (若判断条件为真则返回value1,否则返回value2)(是一个三元运算符),和If  else原理相同。

1.6运算符的优先级

image.png

1.7补充

  • 一边数字,一边字符串数字  会自动转换数字类型   eg:  console.log('5'>15);//false
  • 两边都是字符串  比较ascII码,一位一位比较  eg:    console.log( '5'>'15');//true
  •  NaN和谁都不相等,和自身都不相等。
  •   undefined 除了null和谁都不相等结果都是false


相关文章
|
2月前
|
JavaScript
web学习笔记(二十)
web学习笔记(二十)
21 0
|
12天前
|
自然语言处理 运维 JavaScript
web-flash 学习笔记
web-flash 学习笔记
|
2月前
|
JavaScript 前端开发 API
web学习笔记(二十九)jQuery
web学习笔记(二十九)jQuery
27 0
|
2月前
|
存储 JSON JavaScript
web学习笔记(二十八)
web学习笔记(二十八)
24 0
|
2月前
web学习笔记(二十七)PC端网页特效
web学习笔记(二十七)PC端网页特效
20 0
|
2月前
|
JavaScript 前端开发 Go
web学习笔记(二十六)
web学习笔记(二十六)
22 0
|
2月前
|
JavaScript 前端开发 内存技术
web学习笔记(二十五)BOM开始
web学习笔记(二十五)BOM开始
24 0
|
2月前
|
JavaScript
web学习笔记(二十四)
web学习笔记(二十四)
21 0
|
2月前
|
JavaScript 前端开发
web学习笔记(二十三)
web学习笔记(二十三)
49 0
|
2月前
|
XML JavaScript 前端开发
web学习笔记(二十二)DOM开始
web学习笔记(二十二)DOM开始
19 0