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

运算符类型

  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再执行,–同理。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值