问题:
有一篮苹果,两个两个的拿剩一个,三个三个的拿剩一个,四个四个的拿剩一个,五个五个的拿剩一个,六个六个的拿剩一个,七个七个的拿,能拿完,请问这篮子里有多少个苹果?
(一) if else 语句 demo1
// 条件为true, 执行if后面的括号代码, 否则执行 else 后面括号代码
if(条件) {
// todo
}else{
// todo
}
// 多重判断
if(){
} else if() {
} else {
}
(二) 类型转换
- 隐式转换 demo2-1
运算的过程中, 类型自动进行转换, 称之为隐式类型转换 - 显式转换-其他类型转布尔类型 demo2-2
- 转换方法 Boolean(变量名) 和 !!变量名
- 转换结果为 true 或者 false
- 字符串转布尔
- 数字转布尔
- undefined 转布尔
- null 转布尔
- 对象转布尔 ``` 总结:
- 转换方法 Boolean(变量)或者 !!变量
- 意思上若包含’无’,’空’的时候转为false,其他为true
- 对象全部为true ```
- 显式转换-其他类型转数字类型 demo2-3 ```
- 转换方法 Number(变量);
- 转换结果: 数字, 0, NaN
- 字符串转数字
- 布尔转数字
- undefined 转数字
- null 转数字
- 对象转数字
总结: (1)数字的转换结果有三种: 数字, 0 , NaN (2)其他类型转数字类型的时候, 就拿这三种结果区推断, 会是那一个
4. 显式转换-其他数据类型转字符串类型 demo2-4
(1)有三种方式 var num = 20;
- 加减乘除
+ - * / %
demo3-1 两个变量相加规则
(1)两个数字相加,直接相加 (2)有一个加数是字符串时,其它变量都转换成字符串,然后进行拼接 demo3-2.1 (3)NaN,null,undefined + 数字 (4)两个小数相加,有可能出现很多小数 demo3-2.2
-
(四) 关系运算符(比较运算符)
== 等于
- === 恒等于,全等于
- == 和 === 的区别
- == 不同类型的变量进行比较, 不比较变量类型, 类型转换后, 只比较值, 值相等, 则为true, 否则为false
- === 先比较类型, 若类型不同,结果为false, 若类型相同,再比较值, 值相同, 则为true
-
(五) 逻辑运算符
逻辑非!, 取反即可
逻辑与&&: 中文里并且的意思
(1)对于布尔类型: 两者为true,结果为true demo5-2.1 (2)对于其他类型: 前者为true取后者,前者为false取前者 demo5-2.2 (3)逻辑与的妙用: var obj = null; console.log(obj.a); // 报错 console.log(obj && obj.a); // 防止报错
逻辑或|| : 中文里的或者的意思 demo5-2.3
(1)对于布尔类型: 一个为true,结果为true (2)对于其他类型:前者为true取前者, 前者为false取后者
总结: 逻辑与&& 和 逻辑或 ||, 只需要记住两句话
逻辑与: 前者为true取后者,前者为false取前者 逻辑或: 前者为true取前者, 前者为false取后者
资料1: 逻辑运算符练习
1. var num1 = 0;
!num1; // true
2. var num2 = 100;
!num2; // false
!!num2; // true
3. var num3 = NaN;
!num3; // true
4. var str1 = '';
!str1; // true
5. var str2 = 'abc';
!str2; // false
10. 0 && 100; // 0
11. 0 && NaN; // 0
12. 100 && 0; // 0
13. 100 && NaN; // NaN
14. NaN && 0; // NaN
15. NaN && 100; // NaN
16. '' && 'abc'; // ''
17. 'abc' && ''; // ''
18. 'abc' && '456'; // '456'
19. true && true; // true
20. true && false; // false
21. false && true; // false
22. false && false; // false
23. 0 && undefined; // 0
24. NaN && null; // NaN
25. 100 && 'abc'; 'abc'
资料2: 逻辑运算符练习2
6. var boo1 = true;
!boo1; // false
7. var boo2 = false;
!boo2; // true
8. var name;
!name; // true
9. var cat = null;
!cat; // true
var obj;
27. 'abc' && obj.name; // 报错
28. undefined && obj.name; // undefined
29. obj && obj.name; // undefined
30. 0 || 100; // 100
31. 0 || NaN; // NaN
32. 100 || 0; // 100
33. 100 || NaN; // 100
34. NaN || 0; // 0
35. NaN || 100; // 100
36. '' || 'abc'; // 'abc'
37. 'abc' || ''; // 'abc'
38. 'abc' || '456'; // 'abc'
39. true || true; // true
40. true || false; // true
41. false || true; // true
42. false || false; // false
43. 0 || undefined; // undefined
44. NaN || null; // null
45. 100 || 'abc'; // 100
46. 'abc' || undefined // 'abc'
47. var obj; 'abc' || obj.name; // 'abc'
48. undefined || obj.name; // 报错
资料3: 编程题练习
编程题, 运算并打印结果
有一篮苹果,两个两个的拿剩一个,三个三个的拿剩一个,四个四个的拿剩一个,五个五个的拿剩一个,六个六个的拿剩一个,七个七个的拿,能拿完,请问这篮子里有多少个苹果?
资料4: 作业
- 编程题: ```javascript 有以下两个变量 num1 和 num2,若两个变量相加等于 15.3,则输出’运算正确’,否则输出’运算错误’ var num1 = 7.1; var num2 = 8.2;
var sum = (num110+num210)/10; if (sum === 15.3) { console.log(‘运算正确’); } else { console.log(‘运算错误’); }
2. 编程题, 运算并打印结果<br />有一篮苹果,两个两个的拿剩一个,三个三个的拿剩一个,四个四个的拿剩一个,五个五个的拿剩一个,六个六个的拿剩一个,七个七个的拿,能拿完,请问这篮子里有多少个苹果?
2. 写出下面式子的值
```javascript
typeof 100 //number
typeof true //boolean
typeof(undefined) //undefined
typeof({}) //object
typeof( [1,2] ) //object
typeof(NaN) //number
typeof(null) //object
- 编程题: 多重判断
作业要求: 在屏幕输入一个数字,确定后弹出相应的年龄段 ```javascript 年龄划分: “0-6岁为婴幼儿; 7-12岁为少儿; 13-17岁为青少年; 18-45岁为青壮年; 46-69岁为中年; 69岁以上为老年
5. 写出下面式子的值
```javascript
'1.23' == 1.23
0 == false
null == undefined
NaN == NaN
1 == '1'
1 === '1'
1 + '2' === '1' + 2
1 + true === false + 2
1 + null == undefined + 1
'a' - 'b' == 'b' - 'a' false
4 == '4.00'
4 === '4.00'
0 == false
0 == null
null == false
加减作业题
var score = 50;
var grade = '7';
score + 10;
score + '10';
score + null;
score + undefined;
score + NaN;
score + 10;
score + '10';
score + null;
var num1 = 8;
var num2 = '8';
num1 - num2;
num1 - 'web01';
num1 - null;
num1 - undefined;
num1 - true;
num1 - false;
num1 - num2;