01.运算符
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
/*
运算符也叫操作符
通过运算符可以对一个或多个值进行运算,并获取运算结果
比如:typeof就是运算符,可以来获得一个值的类型
它会将该值的类型以字符串的形式返回
number string boolean undefined object
算数运算符
+ 加
- 减
* 乘
/ 除
% 取模运算()
*/
var a = 123;
var result = typeof a;
console.log(result);
console.log(typeof a);
console.log(typeof result);//string
result = a + 1;
result = 123 + 789;
//对非Number类型的值进行运算时,会将这些值转换为Number然后再运算
result = true + 1;//2
//任何值和NaN做运算都得NaN
result = 2 + NaN;
//两个字符串相加,则会做拼串
//会将两个字符串拼接并返回
result = "123" + "456";
result = "你好" + "大帅哥";
console.log(typeof result);
console.log(result);
var str = "锄禾日当午," +
"汗滴禾下土。" +
"谁知盘中餐," +
"粒粒皆辛苦。";
console.log(str);
//任何值和字符串做加法运算,都会先转换成字符串,然后再和字符串做拼串的操作
/*
可以利用该特点,将任意数据类型转换成字符串
我们只需要为任意数值类型 + ""即可转换为String
这是一个隐式的类型转换,由浏览器自动完成,实际上也是调用String()函数
*/
result = "123" + 1;
result = true + "hello";
console.log(result);
var c = 123;
console.log("c = " + c);
c = c + "";//将c转换成字符串
console.log(c);
console.log(typeof c);
result = 1 + 2 + "3";//33
result = "1" + 2 + 3;//123
result = 100 - 5;//95
result = 100 - true;//99
result = 100 - "1";//99
//- * /都是转换成Number再运算
result = 2 * 2;//4
result = 2 * "8";//16
result = 2 * null;//0
result = 2 * undefined;//NaN
result = 2 * null;//0
console.log("result = " + result);
//可用- * /来将其转换成字符串(隐式类型转换)原理和Number()一样
var d = "123";
console.log(d);
d = d - 0;
console.log(d);
console.log(typeof d);
result = 9 % 3;//0
result = 9 % 4;//1
console.log("result = " + result);
</script>
</head>
<body>
</body>
</html>
02.一元运算符
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
/*
一元运算符只需要一个操作数
+ 正号
- 负号
负号可以对数字进行取反
*/
var a = 123;
a = -a;
//对于非Number值会先转换为Number值再进行运算
//对其他数据类型使用+,可以将其转换成Number,原理与Number()函数一样
a = true;
a = -a;
console.log("a = " + a);
console.log(typeof a);
var result = 1 + +"2" + 3;
console.log(result);
</script>
</head>
<body>
</body>
</html>
03.自增与自减
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
/*
自增++
- 通过自增可以使变量在自身的基础上增加1
- 对于一个变量自增之后,原变量的值会立即自增1
- 自增分两种:++a a++
无论是a++还是++a,都会立即使原变量的值自增1
不同的是++a和a++的值不同
*/
var a = 1;
a++;
a++;
++a;
console.log(a);
var b = 1;
console.log("b++ = " + b++);//a++的值是自增前的值
console.log("b = " + b);
console.log("++b = " + ++b);//++a是自增后的值
var c = 10;
c++;
console.log("c++ = " + c++);
var d = 20;
//20 + 22 + 22 = 64
var result = d++ + ++d + d;
console.log("result = " + result);
d = d++;//d = 20
</script>
</head>
<body>
</body>
</html>