【JS学习笔记】4.JavaScript运算符
运算符类型
- 赋值运算符:=
- 比较运算符:> ,<,>=,<=,==,!=
- 算术运算符:+,-,*,/,%
- 逻辑运算符:&&,||,!
- 条件(三目)运算符:语法:条件 ? 表达式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再执行,–同理。
注:此为个人学习笔记,如有补充可以选择在评论区留言或者无视。
上一篇: C#读写文本文件源码片段
下一篇: CF10D LCIS[动态规划]