问题:

有一篮苹果,两个两个的拿剩一个,三个三个的拿剩一个,四个四个的拿剩一个,五个五个的拿剩一个,六个六个的拿剩一个,七个七个的拿,能拿完,请问这篮子里有多少个苹果?

(一) if else 语句 demo1

  1. // 条件为true, 执行if后面的括号代码, 否则执行 else 后面括号代码
  2. if(条件) {
  3. // todo
  4. }else{
  5. // todo
  6. }
  7. // 多重判断
  8. if(){
  9. } else if() {
  10. } else {
  11. }

(二) 类型转换

  1. 隐式转换 demo2-1
    运算的过程中, 类型自动进行转换, 称之为隐式类型转换
  2. 显式转换-其他类型转布尔类型 demo2-2
    • 转换方法 Boolean(变量名) 和 !!变量名
    • 转换结果为 true 或者 false
    • 字符串转布尔
    • 数字转布尔
    • undefined 转布尔
    • null 转布尔
    • 对象转布尔 ``` 总结:
  • 转换方法 Boolean(变量)或者 !!变量
  • 意思上若包含’无’,’空’的时候转为false,其他为true
  • 对象全部为true ```
  1. 显式转换-其他类型转数字类型 demo2-3 ```
  • 转换方法 Number(变量);
  • 转换结果: 数字, 0, NaN
  • 字符串转数字
  • 布尔转数字
  • undefined 转数字
  • null 转数字
  • 对象转数字

总结: (1)数字的转换结果有三种: 数字, 0 , NaN (2)其他类型转数字类型的时候, 就拿这三种结果区推断, 会是那一个

  1. 4. 显式转换-其他数据类型转字符串类型 demo2-4

(1)有三种方式 var num = 20;

  • num + ‘’; // 常用
  • String(num);
  • num.toString(); (2)转换规则: 把变量直接添加双引号,变成字符串 ```

    (三) 算术运算

  1. 加减乘除 + - * / % demo3-1
  2. 两个变量相加规则

    (1)两个数字相加,直接相加
    (2)有一个加数是字符串时,其它变量都转换成字符串,然后进行拼接 demo3-2.1
    (3)NaN,null,undefined + 数字
    (4)两个小数相加,有可能出现很多小数 demo3-2.2
    
  3. 两个小数相减规则

    (四) 关系运算符(比较运算符)

  4. == 等于

  5. === 恒等于,全等于
  6. == 和 === 的区别
    • == 不同类型的变量进行比较, 不比较变量类型, 类型转换后, 只比较值, 值相等, 则为true, 否则为false
    • === 先比较类型, 若类型不同,结果为false, 若类型相同,再比较值, 值相同, 则为true
  7. 建议尽量使用 ===

    (五) 逻辑运算符

  8. 逻辑非!, 取反即可

  9. 逻辑与&&: 中文里并且的意思

    (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); // 防止报错
    
  10. 逻辑或|| : 中文里的或者的意思 demo5-2.3

    (1)对于布尔类型: 一个为true,结果为true
    (2)对于其他类型:前者为true取前者, 前者为false取后者
    
  11. 总结: 逻辑与&& 和 逻辑或 ||, 只需要记住两句话

    逻辑与: 前者为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: 作业

  1. 编程题: ```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
  1. 编程题: 多重判断
    作业要求: 在屏幕输入一个数字,确定后弹出相应的年龄段 ```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;