一、JS中的错误

  • 语法错误:Uncaught SyntaxError,语法错误,代码错误一行都不会执行

    1. console.log(1);
    2. console.log(2);
    3. console.log(3);
    4. console.log(4);
  • 通用错误:中断代码执行,错误代码之前的还是会执行的,错误代码之后的就不再执行了

    1. console.log(1);
    2. console.log(2);
    3. console.log(a); //Uncaught ReferenceError: a is not defined
    4. console.log(4);

    二、JS中的运算符

    JS中的运算符: + - * / % ()

  1. // JS中的运算符: + - * / % ()
  2. var a = 1,
  3. b = 2,
  4. d = 3;
  5. var c = (a + b) * d;
  6. // 1. 先声明变量c
  7. // 2. 变量a的值和变量b的值相加,得到的结果再与变量d的值做乘法运算得到结果
  8. // 3. 最后将结果赋值给变量c
  9. // 优先级:括号运算 > 普通运算 > 赋值运算
  • ‘+’ 号表示数学运算符 ```javascript // ”+“ 号运算:它有两种情况,一是数学运算,二是字符串拼接「加号左右两边,有一边出现字符串,那就属于字符串拼接」 // ”+“ 表示数学运算: var a = 1,
    1. b = 2,
    2. c;

c = a + b; console.log(c);

  1. - '+' 号表示字符串拼接
  2. ```javascript
  3. // ”+“ 号表示字符串拼接:
  4. var str1 = 1 + '1';
  5. var str2 = 'str' + null;
  6. var str3 = 'str' + NaN;
  7. var str4 = 'str' + 1 + 1;
  8. var str5 = 1 + 1 + 'str' + (1 + 1);
  9. console.log(str1, str2, str3, str4, str5);
  • ‘/‘ 除法运算

    NaN:not a number,不是一个有效数字,但是它是属于Number类型的

  1. var a = 10,
  2. b = 5,
  3. c;
  4. c = a / b;
  5. console.log(c);
  6. // NaN:not a number,不是一个有效数字,但是它是属于Number类型的
  7. var a = 0,
  8. b = 0,
  9. c;
  10. c = a / b;
  11. console.log(c); // NaN
  12. console.log(1 / 0); // Infinity
  • % 取余运算
    1. // % 取余运算
    2. console.log(5 % 2); // 1
    3. console.log(5 % 3); // 2
    4. console.log(4 % 6); // 4
    5. console.log(0 % 6); // 0

    三、交换两个值

    交换两个值:定义中间变量 ```javascript // 交换两个值: 定义中间变量 var a = 1; var b = 2;

var c = a; a = b; b = c;

console.log(a, b); // 2 1

  1. 交换两个值:先两数进行相加
  2. ```javascript
  3. // 先两数进行相加
  4. var a = 1;
  5. var b = 2;
  6. a = a + b;
  7. b = a - b;
  8. a = a - b;
  9. console.log(a, b);

四、前置++和—

  1. // 前置++和--
  2. var a = 1;
  3. a = a + 1; // -> a++
  4. var a = 1;
  5. console.log(a++); // 1
  6. console.log(a); // 2
  7. var a = 1;
  8. console.log(++a); // 2

练习题一

  1. var a = 5,
  2. b;
  3. b = a++ +1;
  4. console.log(a, b); // 6 6

练习题二

  1. var a = 5,
  2. b;
  3. b = ++a + 1;
  4. console.log(a, b); // 6 7

练习题三

  1. var a = 5,
  2. b;
  3. b = a-- + --a;
  4. console.log(a, b); // 3 8

练习题四

  1. var a = 5,
  2. b;
  3. b = --a + --a;
  4. console.log(a, b); // 3 7

练习题五

  1. var a = 5,
  2. b;
  3. b = --a + a++;
  4. console.log(a, b); // 5 8

五、比较运算符

JS中的比较运算符包括:>、 <、 >、=、 <=、 ==、 !=、 !==

  • 字符串和数字进行比较,会把字符串转换为数字,然后再进行比较
  • 字符串和字符串进行比较,会逐一比较ASCII码值「字符串所对应的十进制代码,多个字符的,会从左到右依次对比,直到比出最终的结果」 ```javascript // 比较运算符 var a = 1 > 2; console.log(a);

// 字符串和数字进行比较,会把字符串转换数字,然后再进行比较 var bool1 = ‘2’ > 1; console.log(bool1);

// 字符串和字符串相比较,会逐一比较ASCII码值「字符串对应的十进制代码,多个字符的,从左到右一次对比,直到比出最终的结果」 var bool2 = ‘1.5’ > ‘11’; console.log(bool2);

var bool3 = ‘a’ > ‘b’; console.log(bool3);

  1. <a name="S3Gt1"></a>
  2. ### 5.1、== 和 === 以及 !=
  3. - == 相等:不看数据类型
  4. - === 绝对相等:只有值和类型相等,结果才相等
  5. ```javascript
  6. // == 和 === 以及 !=
  7. var bool1 = 1 == '1';
  8. console.log(bool1);
  9. var bool2 = 1 === '1';
  10. console.log(bool2);
  11. var bool3 = 1 !== '1';
  12. console.log(bool3);
  13. // NaN和任何值都不相等,包括和它自己
  14. var bool4 = NaN == NaN;
  15. console.log(bool4);

六、判断语句if else

语法:

  1. if(条件){
  2. 语句;
  3. }
  • 在条件判断中&& 表示并且,&&两边都必须满足条件才可以
  • || 表示或者,|| 两边有一边满足条件即可
  • if else 一般用于条件的互斥性

    1. // 成绩查询
    2. var score = Number(window.prompt('请输入您的成绩'));
    3. if(score >= 90 && score <= 100){
    4. alert('您的成绩为优秀');
    5. }else if(score >=70 && score <= 89){
    6. alert('您的成绩为良好');
    7. }else if(score >= 60 && score <= 69){
    8. alert('您的成绩刚好及格');
    9. }else if(score >=0 && score <= 59{
    10. alert('您的成绩不及格');
    11. }else{
    12. alert('您输入的成绩不合法,请重新输入');
    13. }

    七、switch case语句

    语法:

    1. switch(变量){
    2. case 事件1:
    3. 语句1;
    4. break;
    5. case 事件2:
    6. 语句2;
    7. break;
    8. case 事件3:
    9. 语句3;
    10. break;
    11. default:
    12. 语句;
    13. }

    练习:

    1. // 城市查询
    2. var city = window.prompt('请输入您的');
    3. switch(city){
    4. case '北京':
    5. alert('15k');
    6. break;
    7. case '上海':
    8. alert('14k');
    9. break;
    10. case '广州':
    11. alert('14k');
    12. break;
    13. default:
    14. alert('10k');
    15. }

    八、逻辑运算符与&&或||非!

  • 逻辑运算符与&&:遇到真就往后面走,遇到假或者走到最后就返回当前值

  • 逻辑运算符或||:遇到假就往后面走,遇到真或者走到最后就返回当前值
  • 假:0、NaN、null、undefined、’’,其余情况都为真 ```javascript // 逻辑运算符&& || ! 与或非 // 假:0、NaN、null、undefined、’’,其余情况都为真

// 逻辑运算符与&&:遇到真就往后面走,遇到假或者走到最后就返回当前值 // 逻辑运算符或||:遇到假就往后面走,遇到真或者走到最后就返回当前值 var a = 1 && 2; console.log(a);

var b = 1 || 2; console.log(b);

var name = ‘liangyu’; console.log(name || ‘未找到姓名’);

a.onclick = function(e){ var event = e || window.event; }

//非! var a = !!1; var a = !a; var a != a;

  1. <a name="f2Qhz"></a>
  2. # 九、作业
  3. ```javascript
  4. // 作业:填写星期几,再填写对应的时间段,打印要做的事情
  5. var week = window.prompt('请输入星期几');
  6. var time = window.prompt('请输入上午还是下午');
  7. switch (week) {
  8. case '星期一':
  9. if (time == '上午') {
  10. console.log('看书');
  11. } else {
  12. console.log('喝茶');
  13. }
  14. break;
  15. case '星期二':
  16. if (time == '上午') {
  17. console.log('爬山');
  18. } else {
  19. console.log('跑步');
  20. }
  21. break;
  22. case '星期三':
  23. if (time == '上午') {
  24. console.log('打球');
  25. } else {
  26. console.log('下棋');
  27. }
  28. break;
  29. case '星期四':
  30. if (time == '上午') {
  31. console.log('拍照');
  32. } else {
  33. console.log('睡觉');
  34. }
  35. break;
  36. }