1、运算符和表达式的分类
······运算符: 也称为操作符,用于执行程序代码运算,会针对一个以上操作数进行运算, 例如 2 + 3 + 5,这里的加号就是运算符。
·
······表达式: 是由一个或多个操作数通过运算符连接起来的式子,每个表达式最终会有一个结果返回给开发者, 例如 1 + 1 = m 整个式子就是表达式。
JavaScript常用的运算符有:算术运算符
、赋值运算符
、比较运算符
、逻辑运算符
、三目运算符
。
根据运算符的分类可以将表达式分为:算术表达式
、赋值表达式
、条件表达式
、逻辑表达式
、三元表达式
。
(1)算术运算符【 + 、- 、* 、/ 、%(取余) 、++(递增) 、–(递减)】
······算术运算符即算术运算使用的符号,用于执行两个变量或值的算术运算。
<1> +
转换规则: ···① 如果两边都是数字,做普通的数学计算;
···················② 一边是字符串,另一边也转成字符串,做字符串的拼接;
···················③ 如果两边都没有字符串,调用Number,转成数字,再相加;
···················④ 如果有一边是对象,则对象调用 toString 得到字符串,再计算。
//数字
console.log(2 + 3); // 5
console.log(NaN + 5); //NaN
console.log(Infinity + 3); //Infinity
console.log((9 / 0) + 3); //infinity
console.log(true + undefined); // NaN
//字符串
console.log('8' + 3); // ' 83 '
console.log(true + 'false'); // ' truefalse '
console.log(true + ''); // ' true '
//布尔
console.log(true + 1); // 2
console.log(false + 1); // 1
//空
console.log(null + 1); // 1
//未定义
console.log(undefined + 1); // NaN
//对象
console.log(8 + {
}); // ' 8[object Object]'
console.log(8 + {
8:8}); // ' 8[object Object]'
console.log(true + [true]); // ' truetrue '
案例
var a = 5;
var b = 6;
console.log(a + b);
console.log('5+6的和是11');
console.log(''+a+'+'+b+'的和是'+(a + b)+'');
console.log(a+'+'+b+'的和是'+(a + b)); //拼接时,有些引号可以省略
<2> - 、*、/、%取余(也叫取模)
转换规则:
················减(-)、乘(*)、除(/)、取余(%)在运算时会调用Number()方法,将不是数字类型的转换成数字类型再进行计算,不能转换的则为 NaN 。
console.log(10 - 5