Bootstrap

【前端】JavaScript入门及实战16-20

16 自增

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset = "utf-8">
<script type="text/javascript">
	/*
		自增:++
			通过自增可以使变量在自身的基础上增加1
			对于一个变量自增后,原变量的值会立即自增1
			自增分为两种:后++(a++)和前++(++a)
			无论是a++,还是++a,都会立即使原变量的值自增1
			
			不同的是a++和++a的值不同
			a++ = 变量原值(自增前的值)
			++a = 变量新值(自增后的值)
			
		自减:--
			通过自减可以使变量在自身的基础上减少1
			自减分为两种:后--(a--)和前--(--a)
			无论是a--,还是--a,都会立即使原变量的值自减1
			
			不同的是a--和--a的值不同
			a-- = 变量原值(自减前的值)
			--a = 变量新值(自减后的值)
	*/

	var a = 1;
	
	// 使a自增1
	// a++;
	console.log(a++); // 1
	console.log("a = " + a); // a = 2
	
	console.log(++a); // 2
	
	var c = 10;	
	c++;	
	console.log(c++); // 11
	
	var d = 20;	
	console.log(++d); // 21
	console.log(++d); // 22
	
	var result = d++ + ++d + d; // 20 + 22[21 + 1] + 22
	console.log(result); // 64
	
	d = d++; // e = d++ = 20,d = e = 20
	console.log(d); // 20
	
	var num = 10;
	// num--;
	// console.log(num); // 9
	// --num;
	
	console.log(num--); // 10
	console.log(--num); // 9
</script>
<style>
</style>
</head>
<body>
</body>
</html>

17 自增练习

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset = "utf-8">
<script type="text/javascript">
	
	var n1 = 10, n2 = 20;
	var n = n1++; // n1 = 11, n = n1++ = 10
	console.log("n = " + n); // n = 10
	console.log("n1 = " + n1); // n1 = 11
	n = ++n1; // n1 = 12, n = 12
	console.log("n = " + n); // n = 12
	console.log("n1 = " + n1); // n1 = 12
	n = n2--; // n2 = 19, n = n2-- = 20
	console.log("n = " + n); // n = 20
	console.log("n2 = " + n2); // n2 = 19
	n = --n2; // n2 = 18, n = 18
	console.log("n = " + n); // n = 18
	console.log("n2 = " + n2); // n2 = 18
	
</script>
<style>
</style>
</head>
<body>
</body>
</html>

18 逻辑运算符(1)

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset = "utf-8">
<script type="text/javascript">
	/*
		JS中为我们提供了三种逻辑运算符
		1. !非:!可以用来对一个值进行非运算
			(1) true变false,false变true
			(2) 如果对一个值进行两次取反,值不变
			(3) 如果对非布尔值进行运算,则会将其转换为布尔值,然后再取反,所以
				我们可以利用该特点,将其他的数据类型转换为布尔值。
				可以为一个任意数据类型去两次反,来将其转换为布尔值(隐式类型转换)
				原理和Boolean()函数一样
				 
		
		2. &&与:&&可以对符号两侧的值进行与运算并返回结果
			(1) 两个值中只要有一个值为false就返回false
				只有两个值都为true时,才返回true
			(2) JS中的“与”属于短路的与,如果第一个值为false,则不会看第二个值了
		
		3. ||或:||可以对符号两侧的值进行或运算并返回结果
			(1) 两个值中只要有一个值为true就返回true
				如果两个值都为false,才返回false
			(2) JS中的“或”属于短路的或,如果第一个值为true,则不会看第二个值了
	*/
	
	var a = true;
	console.log("a = " + a); // a = true
	
	// 对a进行!运算
	a = !a; // a = false
	
	var b = 10;
	console.log(b);
	console.log(typeof b); // number
	
	b = !b; // false, boolean类型
	
	// 如果两个值都是true则返回true
	var res = true && true;
	
	// 只要就一个false就返回false
	res = true && false; // false
	res = false && true; // false
	res = false && false; // false
	
	// 第一个值为true,会检查第二个值
	true && alert("看我出不出来"); // 有弹窗

	// 第一个值为false,不会检查第二个值
	false && alert("看我出不出来"); // 无弹窗
	
	// 两个都是false,则返回false
	res = false || false; // false
	
	// 只要有一个true,就返回true
	res = true || false; // true
	res = false || true; // true
	res = true || true; // true
	
	// 第一个值为false,会检查第二个值
	false || alert("123"); // 有弹窗
	
	// 第一个值为true,不会检查第二个值
	true || alert("123"); // 无弹窗
</script>
<style>
</style>
</head>
<body>
</body>
</html>

19 逻辑运算符(2)

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset = "utf-8">
<script type="text/javascript">
	/*
		&& || 非布尔值的情况
			对于非布尔值进行与或运算时,会先将其转换为布尔值,然后再运算
			1. 与运算:如果第一个值为true,则必然返回第二个值
					   如果第一个值为false,则直接返回第一个值
			2. 或运算:
					   如果第一个值为true,则返回第一个值
					   如果第一个值为false,则返回第二个值
	*/
	
	// true && true
	// 与运算:如果两个值都为true,返回后边的值
	var res = 1 && 2; // 2
	res = 2 && 1; // 1
	
	// 如果两个值中有false,则返回靠前的false
	// false && true
	res = 0 && 2; // 0
	res = 2 && 0; // 0	
	// false && false
	res = NaN && 0; // NaN
	res = 0 && NaN; // 0
	
	// true || true
	// 如果第一个值为true,直接返回第一个值
	res = 1 || 2; // 1
	res = 2 || 1; // 2
	
	// 如果第一个值为false,则直接返回第二个值
	res = NaN || 1; // 1
	
	res = "" || "hello"; // "hello"
	
	res = -1 || "hello"; // -1
</script>
<style>
</style>
</head>
<body>
</body>
</html>

20 赋值运算符

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset = "utf-8">
<script type="text/javascript">
	/*
		=:可以将符号右侧的值赋值给符号左侧的变量
		
		+=:a += 5等价于a = a + 5
		
		-=
		
		*=
		
		/=
		
		%=
		
	*/
	
	var a = 10;
	
	a = a + 5;
	a += 5;
	console.log(a); // 15
</script>
<style>
</style>
</head>
<body>
</body>
</html>
;