运算符分类:
1、算数运算符:+-*/%
2、关系运算符:> >= < <= == != === !==
3、逻辑运算符:&& || !
4、一元运算符:++/--
5、赋值运算符:= 、+=、-=、*=、/=、%=
算术运算符:
算术运算符简单来说,就是加+减-乘*除/取余%
注意点:1、任何类型的数据和字符串类型的数据做相加(+)操作时,其他数据类型会自 动的转换为字符串类型。此时的相加(+)不再是数学意义上的加法,而是表 示“拼接”的意思。(也就是传统的字符串拼接)
2、字符串除了做相加运算之外的运算,那么字符串会先转成数字,再进行运算。
1)"100"纯数字字符的字符串,可以直接转成数字
2)"100a"有非数字字符的字符串,转成NaN(not a number)
3)任何数据和NaN做数学运算,都是NaN。
3、除字符串以外的数据,和数字进行算数运算的时候,将别的数据类型先转成数字 再进行运算。
注:有关转换规则在基础篇之数据类型中有
4、计算机在进行算数运算符时的一些细节
1)计算机在进行小数运算的时候,绝对有误差(尽量使用整数计算)
2)除数可以为零
关系运算符:
关系运算符也就是之间存在的一些关系
有大于> 、大于等于>=、小于< 、小于等于 <= 、等于==、非等于!= 、恒等于===、非恒等于!==
注意点: 1、两个操作数都是数值,则数值比较;
2、当关系运算符操作非数值时要遵循一下规则:
1)两个操作数都是字符串,则比较两个字符串对应的字符编码值;
比较分两种情况
如果都是单个字符,直接比较ASCII码值大小
逐位进行比较(第一位和第一位比较,第二位和第二位比较...)一旦 比较出大小,直接得出结果。
2) 两个操作数有一个是数值,则将另一个转换为数值,再进行数值比较;
3、在相等和不等的比较上,如果操作数是非数值,则遵循一下规则:
1)一个操作数是布尔值,则比较之前将其转换为数值,false 转成 0,true 转 成 1;
2)一个操作数是字符串,则比较之前将其转成为数值再比较
3)一个操作数是 NaN,则==返回 false,!=返回 true;并且 NaN 和自身不 等;
4、 == != 判断值相等(如果两边的类型不一样,会做出隐式转换)
=== !== 既得判断值相等,还需要判断数据类型也相等。
逻辑运算符:
与运算 &&(完成一件事,有N个步骤,每个步骤都完成,此件事才能完成,各个步骤之间的关系就 是与.)
格式:表达式1 && 表达式2
规则:两个表达式都为true的时候,才为true。
短路操作:如果表达式1为false,那么表达式2就不执行了,直接得结果为false。
或运算 | |(完成一件事,有N个办法,任意一个办法完成,此件事就能完成,各个办法之间的关系 就是或.)
格式:表达式1 || 表达式2
规则:两个表达式都为false的时候,才为false。
短路操作:如果表达式1为true,那么表达式2就不执行了,直接得结果为true。
逻辑非!(某个条件的所有对立面)
格式:!表达式
规则:先将原有的表达式自动数据类型转换成布尔值,然后取反。
规律:非零即真,非空即真
规律:1.操作数是一个空字符串,返回 true;
2.操作数是一个非空字符串,返回 false;
3.操作数是数值 0,返回 true;
4.操作数是任意非 0 数值(包括 Infinity),false;
5.操作数是 NaN,返回 true;
6.操作数是 undefined,返回 true;
一元运算符:
++自增自减--
++:
值 a++:先取值a的值,作为a++表达式的值,然后再对a进行加1(++后置)
值 ++a:先对a进行加1,作为++a表达式的值 也得是a的值(++前置)
--:
值 a-- :先取值a的值,作为a--表达式的值,然后再对a进行减1(--后置)
值 --a :先对a进行-1,作为--a表达式的值 也得是a的值(++前置)
赋值运算符:
基本赋值运算符:=(一个等于号代表的是赋值)
功能:右边的值赋给左边的变量(赋值表达式是有值得)
复合赋值运算符:x=(x代表算数运算符)如:+=、-=、*=、/=、%=
例子: var num=10 num=num+5
上两式子简写 num += 5
本文详细介绍了JavaScript中的运算符,包括算数运算符、关系运算符、逻辑运算符和一元运算符,以及赋值运算符。重点讨论了不同运算符的使用规则和注意事项,例如算数运算符中的数据类型转换,关系运算符中的比较规则,逻辑运算符的短路操作,以及一元运算符的自增自减特性。

2117

被折叠的 条评论
为什么被折叠?



