[TOC]

问题:

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

(一) if else 语句 demo1

// 条件为true, 执行if后面的括号代码, 否则执行 else 后面括号代码
if(条件) {
    // todo
}else{
    // todo
}

// 多重判断
if(){

} else if() {

} else {

}

(二) 类型转换

  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)其他类型转数字类型的时候, 就拿这三种结果区推断, 会是那一个


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: 编程题练习

编程题, 运算并打印结果
有一篮苹果,两个两个的拿剩一个,三个三个的拿剩一个,四个四个的拿剩一个,五个五个的拿剩一个,六个六个的拿剩一个,七个七个的拿,能拿完,请问这篮子里有多少个苹果?



   <script>

            for(var i =0;i<=1000;i++){
            if (i%2==1 && i%3==1 && i%4==1 && i%5==1 && i%6==1 && i%7==0){
                console.log(i);
            }
            }

    </script>

资料4: 作业

  1. 编程题: 有以下两个变量 num1 和 num2,若两个变量相加等于 15.3,则输出’运算正确’,否则输出’运算错误’ ```javascript

    
    2. 编程题, 运算并打印结果<br />有一篮苹果,两个两个的拿剩一个,三个三个的拿剩一个,四个四个的拿剩一个,五个五个的拿剩一个,六个六个的拿剩一个,七个七个的拿,能拿完,请问这篮子里有多少个苹果?
    2. 写出下面式子的值
    ```javascript
    typeof 100    //number
    typeof true  //boolean
    typeof(undefined) ) //undefined
    typeof({})                // obj
    typeof( [1,2] )        //obj
    typeof(NaN)                //Nan
    typeof(null)            //obj
    
    1. 编程题: 多重判断
      作业要求: 在屏幕输入一个数字,确定后弹出相应的年龄段 ```javascript 年龄划分: “0-6岁为婴幼儿; 7-12岁为少儿; 13-17岁为青少年; 18-45岁为青壮年; 46-69岁为中年; 69岁以上为老年

    
    5. 写出下面式子的值
    ```javascript
    <script>
    '1.23' == 1.23    //true
    0 == false      //true
    null == undefined    //true
    NaN == NaN      //false
    1 == '1'      //true
    1 === '1'       //false
    1 + '2' === '1' + 2    //true  
    1 + true === false + 2    //true
    1 + null == undefined + 1    //false  
    'a' - 'b' == 'b' - 'a'   //false
    4 == '4.00'   //true
    4 === '4.00'   //false
    0 == false     //true
    0 == null      //false
    null == false    //false
    
    
    加减作业题
    var score = 50;       
    var grade = '7'; 
    score + 10;      //60    
    score + '10';   //'5010' 
    score + null;    //50 
    score + undefined;   //nan
    score + NaN;    //nan             
    score + 10;    //60
    score + '10';   //'5010'
    score + null;    //50
    var num1 = 8;       
    var num2 = '8';
    num1 - num2;     //0          
    num1 - 'web01';    //nan            
    num1 - null;       //8          
    num1 - undefined;   //nan       
    num1 - true;       //9      
    num1 - false;      //8       
    num1 - num2;       //88
        </script>