什么是表达式
将同类型的数据(如常量、变量、函数等),用运算符号按一定的规则连接起来的、有意义的式子称为表达式。
发散:有时候需要运算,有时候需要进行比较,所以我们就需要表达式。
操作符的分类
1、算术操作符
2、逻辑操作符
3、赋值操作符
4、比较操作符
5、三元操作符
算术操作符(共七种)
+ : 加
- : 减
* : 乘
/ : 除
%:取余
递增
递减
举例说明:+、-、*、/、%这五种算术操作符的用法
var num1 = 10;
var num2 ='5';
console.log(num1+num2); // 105
console.log(num1-num2); // 5
console.log(num1*num2); // 50
console.log(num1/num2); // 2
console.log(num1%num2); // 0
特别说明:通过以上可以看出,它是数字和字符串相操作,肯定有一边进行了数据类型的转换,不然不可以操作。(这就是隐式类型转换)
-、*、/、%是把字符串转成数字来操作
注意:而+有些例外,如果有一边是字符串,它就把数字的哪边转成字符串,进行字符串的操作。只有两边都是数字,才是数字的操作。(用parseInt把字符串转成数字再操作看看)
技巧特别说明:%的用法,当一个递增的变量%于n时,返回的是0到n-1的数。最小是0,最大是n-1。
递增
++a与a++都是对a进行递增的操作
区别:
++a先返回递增之后的a的值
a++先返回a的原值,再返回递增之后的值
简单赋值:=
复合赋值:+=、-=、*=、/=、%=
原理:
a+=2相当于a=a+2
所以,复合赋值操作符,其实就是简化了我们的操作。
发散:
怎么理解复合赋值操作符呢,先看第一个操作符,为+,也就是说左右两边相加,然后将加的值赋给左边。其它同理。
举例说明:
+=和++的区别,+=可以一次递增多个,而++一次只能递增一个
如:a+=1就同a++一样了。
而还有这种形式a+=2,但++就没有这种形式了。
字符串连接
var str1 ='hello';
var str2 = 'world';
str1 =str1+str2;
console.log(str1); //
var str1 ='hello';
var str2 = 'world';
str1+=str2;
console.log(str1); //
比较操作符
>、<、>=、<=、==、===、!=、!==
==:相等,只比较值是否相等,说明:一个等号为赋值
===:相等,比较值的同时比较数据类型是否相等
!=:不相等,比较值是否不相等
!==:不相等,比较值的同时比较数据类型是否不相等
返回值:boolean型
举例说明:
var x = 10;
var y = '10';
console.log(x== y); //
console.log(x=== y); //
console.log(x!= y); //
console.log(x!== y); //
console.log(null== undefined);
console.log(null=== undefined);
三元操作符
语法:
条件 ? 执行代码1:执行代码2
说明:
可代替简单的if语句, 比if效率高。
如果条件成立,执行代码1,否则执行代码2
例子:
var soce = 85;
var result =
(soce >= 60) ? '及格' : '不及格';
console.log(result);