欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【JS学习笔记】4.JavaScript运算符

程序员文章站 2024-03-17 11:11:40
...

运算符类型

  1. 赋值运算符:=
  2. 比较运算符:> ,<,>=,<=,==,!=
  3. 算术运算符:+,-,*,/,%
  4. 逻辑运算符:&&,||,!
  5. 条件(三目)运算符:语法:条件 ? 表达式1:表达式2

赋值运算符

	var a = 1 ;
	var b = 2;
	var c = a; // 将a的值赋给c
	var d = c + b;//将c+b后赋值给d

算术运算符

+加,-减,*乘,/除,%取余(求模)

优先级:先乘除后加减,括号最优先

  • 加法
		var num1 = 12;
		var num2 = 3;
		var c = '8';
		console.log(num1 + num2); // 15
		console.log(num1 + num2 + c); // 158
		console.log(c + num1 + num2); //8123 
		console.log(c + (num1 + num2)); //使用小括号改变运算优先级
  • 减法
		var d = 'hello'
		console.log( num1 - num2 );
		console.log( num1 - c); //会自动将字符串转换为数值
		console.log( num1 - d); // NaN

拓展
NaN: 含义为Not a Number (不是一个数字,非数字),其自身是一个number类型。
作用:用来表示数值的一种不正常状态,一般在计算出错时会出凹陷。
使用isNaN()判断是否是非数字,如果不是数字,返回true,如果是数字返回false

复杂的算术运算

  • Math.abs(a);得到a的绝对值
		console.log(Math.abs(-100));  //100
		console.log(Math.abs(100)); //100
  • Math.pow(a,b) ;得到a的b次方
		console.log(3*3*3*3*3);   //15
		console.log(Math.pow(3,5)); //15
  • Math.round(); 四舍五入
		console.log(Math.round(12.4));  //12
		console.log(Math.round(12.5)); //13
  • Math.ceil();向上取整

  • Math.floor();向下取整

		console.log(Math.ceil(2.4)); //3 向上取整 ,天花板函数,获取大于等于参数的最小整数
		console.log(Math.ceil(4.4));//5
		console.log(Math.ceil(4.9));//5
		console.log(Math.ceil(3));//3
		console.log(Math.ceil(3.1));//4

		console.log(Math.floor(4.4)); // 4 向下取整,地板函数,获取小鱼等于参数的最大整数
		console.log(Math.floor(4.8)); // 4
		console.log(Math.floor(4.1)); //4
		console.log(Math.floor(3)); //3
		console.log(Math.floor(3.1));//3

		console.log(Math.ceil(-7.9)); //-7
		console.log(Math.ceil(-3.1)); // -3
		console.log(Math.ceil(-2.2)); // -2
		console.log(Math.floor(-5.9)); // -6
		console.log(Math.floor(-1.9)); // -2
		console.log(Math.floor(-9.9)); // -10
  • Math.random();产生随机数,范围[0.0,1.0)
		console.log(Math.random()*100);   //会输出0.0 ~100.0的随机数值
  • Math.max(a,b…); 返回最大值
  • Math.min(a,b…);返回最小值
		console.log(Math.max(2,20));
		var a=10;b=11;
		console.log(Math.min(a,b));
  • Math.PI 回复π的值,注意后面没有括号

关系运算符

用来进行比较运算,结果返回是boolean值。

		var m=6;
		var n=6;
		var o='6';
  • 相等==,只判断内容是否相等,不判断类型。(!=不等则判断内是否不等,不判断类型)
		console.log(m==n); //true
		console.log(m==o); //true
		console.log(m!=o);//false
  • 全等===,既判断内容,也判断类型。 (!==是否全不等判断是否全不等)
		console.log(m===n); //true
		console.log(m===o); //false
		console.log(m!==o);  //true 内容和类型,只要有任何一个不等,则返回true

逻辑运算符

  • &&与 ,或称为并且
		var a=1>3; //false
		var b=1<3; //true
		var c=a&&b; // false

对于&&与来说,如果左边是false,那么直接返回false,如果左边不是false(不一定是true,或者说只要有非false内容都为true),直接返回右边。

  • || 或

对于||或,来说如果左边是true,那么直接返回左边,如果左边不是true,那么直接返回右边。

  • !非

如果一个操作数是一个对象,返回false;
如果一个操作数是一个空字符串,返回false;
如果一个操作数是一个非空字符串,返回false
如果一个操作数是一个数值0,返回true;
如果一个操作数是任意的非零字符,返回false;
如果一个操作数是null,返回true;
如果一个操作数是NaN,返回true;
如果一个操作数是undefined,返回true;

运算执行顺序

1.小括号
2.算数运算符,先乘除后加减
3.比较运算符
4.逻辑运算符:!>&&>||

三目运算

语法: 条件 ? 表达式1:表达式2

c=a>b?a:b
解析:如果a>b,则将a的值赋给c,否则将b赋值给c

例:
提示用户输入奖券,如果张三的奖券号比李四高,则奖励张三获得奖励手机,否则李四获得电脑

		var zhangsan=Number(prompt('请输入张三的奖券号:'));
		var lisi=Number(prompt('请输入李四的奖券号:'));
		zhangsan>lisi?alert('张三获得手机'):alert('李四获得一个电脑');

例2:
比较三个数字,并输出其中的最大值

		var x=14;
		var y=200;
		var z=98;
		var max=(x>y?x:y)>z?((x>y?x:y)):z
		console.log(max);

运算符补充

运算符简写:

  • +=、-=、*=、/=、%=
    a=a+1简写a+=1,其他同理
		a=a+1;在原有数值上+1
		a+=1;//a=a+1
		a+=4; // a=a+4 其他同理
  • ++自增,–自减
    自增:在原有数值上+1
    自减:在原有数值上-1

拓展:++如果在后面,表示先执行再加1,如果++在前,表示先+1再执行,–同理。

注:此为个人学习笔记,如有补充可以选择在评论区留言或者无视。