在某网课学习前端笔记整理js篇14-js运算符

js运算符

####运算符种类

算术运算符:+-*/%分别是加、减、乘、除、取余。

赋值运算符:=+=-=*=/=%=++--。中间五个类似,比如:a+=5 等价于a=a+5。++–`类似,i++等价于++i等价于i=i+1。但是某些时候

i++++i并不一样,在涉及输出、运算、赋值等时候,是先做完输出等操作,再自增(--类似)。

逻辑运算符: 如下表格。

运算符 描述 例子
&& 且,如果a&&b,如果a=true就会判断b,否则不会判断后面的b. false&&alert(1)结果不会有弹框。
|| 或,与&&相反,如果第一个为true,则不执行后面的判断,但优先级低于&&。 true||console.log(1)控制台不会输出1.
非, console.log(!true),打印出false。

​ **关系运算符:**结果是布尔类型的(true/false)。><>=<======!=。其中==只会比较内容是否一致,===会比较内存地址(不只内容比较,还有类型)。‘111’==111返回true,‘111’===111返回false。

逗号运算符:。顺序执行。var a=1,b=2.

位运算符:>>(左移)、>>(右移)、>>>(无符号右移)、|(位或)、&(位与)、^(位异或)、~(取反)。这些操作都是对二进制的操作。

位运算符的运用

  1. 快速乘以或除以2^n(n为整数),比如a>>1是将a的二进制左移1位,多出的一位补零,其实相当于a=a*2。>>>是无符号的右移。通过位运算比单纯的乘法更快。

  2. 取整,比如a=10.5,a&15会取得10。15二进制为1111.(|0,>>0…都可以,因为二进制没有小数点)

  3. 交换

    var a = 1 ,b = 2;
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
    console.log(a,b);
    此时a与b会交换过来。
    

类型转换

  • 隐式转换
1 + 1 = 2;
1 + '1' = '11';
5 + null = 5;
'5' - 1 = 4;
3 * '2' = 6;
  • 强制转换
var num = '10.1px';					
console.log(Number(num));			//NaN
console.log(parseInt(num));			//10
console.log(parseFloat(num));		//10.1

parseInt和parseFloat会忽略数字后面的字符。

parseInt(a,b)还可以转换其他进制为十进制。a是进制数的字符串形式,b是几进制。

isNaN可以判断是否是数字,但是不好用,比如isNaN("")=false.还有个Number.isNaN()方法。

发布了27 篇原创文章 · 获赞 0 · 访问量 223

猜你喜欢

转载自blog.csdn.net/qq_34338676/article/details/104715430
今日推荐