2018-04-17

JavaScript学习基础

一、操作符

  • 算术运算符
    +、-、*、/、%;
  • 一元运算符:
    ++ 自增
    -- 自减
    前置运算符:先运算后执行表达式;
    后置运算符:先执行表达式后运算
 //一元运算符:只有一个操作数的运算符
   // 前置:先运算后执行表达式
       var num3 = 23;
       var num4 = 12;
       ++num3; //24
       console.log(num3);//24
       console.log(num3 + ++num4);//24+13=37
       --num4; //12
       console.log(num4);//12
       console.log(num3 + --num4); 24+11=35
    //后置:先执行表达式在运算
        var a = 1;
        var b = ++a;//2
        var c = ++a + b++ //3+2=5
        console.log(c)
  • 逻辑运算符:
    && 与 两个操作数同时为true,结果为true,否则都是false || 或 两个操作数有一个为true,结果为true,否则为false ! 非 取反
  • 关系运算符:
    =: 赋值;
    ==:值相同,不计较类型;
    !=:==的取反;
    ===:类型和值都相等;
    !==: ===的取反。

二、赋值运算符和运算符的优先级

  • 赋值运算符:
    =、+=、-=、*=、/=、%=;
        var a = 12;
        var b = ++a; //13
          // a += b; //26
           //a -= b  //0
           //a *= b; //169
           a /= b; //1
           //a %= b; //0
        console.log(a) //13+13= 26
  • 运算符的优先级
    优先级从高到低
    • a. ()优先级最高;
    • b. 一元运算符 ++ -- !;
    • c. 算数运算符 先*/%后+ -;
    • d. 关系运算符> >= < <=
    • e. 相等运算符 == != === !==;
    • f. 逻辑运算符 先&&后||
    • g. 赋值运算符

三.表达式和语句

四.流程控制

1.顺序结构:

程序默认就是从上到下顺序执行的;

2.分支结构

  • 条件判断
  if('表达式'){
    // 执行语句
  } else {
    //否执行的语句
  }

 // 分数转换,把百分制转换成ABCDE <60  E  60-70 D  70-80 C 80-90 B  90 - 100 A
  var kk = 89;
  if (kk >= 90) {
      console.log("A");
  } else if (kk >=80 && kk < 90) {
      console.lo("B");
  } else if (kk >=70 && kk < 80) {
      console.lo("c");
  } else if (kk >=60 && kk < 70) {
      console.log("D");
  } else {
      console.log('E');
  }

   //判断是否成年
  var age = 18;
  if(age >= 18){
     alert('成年')
  }else{
     alert('未成年')
  }
  • 三元运算符:
    表达式1 ? 表达式2 : 表达式3
   var temp = 123;
   var tem = temp>1000?'very good':'hate';
   console.log(tem);//hate
  • switch case
    var day = 3;
    switch(day){
        case 1:
           console.log('星期一');
           break;
        case 2:
           console.log('星期二');
           break;
        case 3:
           console.log('星期三');
           break;
        case 4:
           console.log('星期四');
           break;
        case 5:
           console.log('星期五');
           break;
        case 6:
           console.log('星期六');
           break;
        case 7:
           console.log('星期日');
           break;
        default:
          console.log('你输入的数字不在星期范围内');
          break;
    }
  // 分数转换,把百分制转换成ABCDE <60  E  60-70 D  70-80 C 80-90 B  90 - 100 A
    var scrol = 89;
    scrol = parseInt(scrol / 10);
    switch(scrol){
        case 10:
         console.log('A');
         break;
        case 9:
         console.log('A');
         break;
        case 8:
         console.log('B');
         break;
        case 7:
         console.log('c');
         break;
        case 6:
         console.log('D');
         break;
        default:
         console.log('E');
         break;
    } 

3.循环结构

  • while循环
    // 当循环条件为true时,执行循环体,

    // 当循环条件为false时,结束循环。

    while (循环条件) {

    // 循环体
    }

   //100以内所有的偶数的和;
   var i = 1;
   var sum = 0;
   while(i <= 100){
       if(i % 2 ===0){
           sum =sum + i;
       }
       i++;
   }
    console.log(sum);
 
 //100以所有数的和
  var j = 1;
  var sum = 0;
  while(j <= 100){
      sum = sum + j;
       j++;
  }
  console.log(sum); //5050

  //使用while循环:输出询问“你是不是一个傻瓜?”,选择“请输入yes or no:",如果输入为yes则打印”真是一个傻瓜“,若输入为no,则继续询问
  
  while(msg !== 'yes'){
      var msg = prompt('你是不是一个傻瓜?','请输入yes or no');
  }
  console.log('真是一个傻瓜');
  • do while循坏

do..while循环和while循环非常像,二者经常可以相互替代,但是do..while的特点是不管条件成不成立,都会执行一次。

 // 100以内3的倍数
 var i = 1;
 do{
    if(i % 3 === 0){
        console.log(i);  
   }
     i++;
} while (i <= 100); 

// 100以内3的倍数的和
var a = 1;
var sum = 0
do{
    if(a % 3 ===0){
      sum = sum + a;
    }
    a++;
} while (a <= 100);
console.log(sum);

//使用do-while循环:输出询问“你是不是一个傻瓜?”,选择“请输入yes or no:",如果输入为yes则打印”真是一个傻瓜“,若输入为no,则继续询问
do{
    var msg = prompt('你是不是一个傻瓜','请输入yes or no:')
 } while (msg !== 'yes');
   document.write('真是一个傻瓜');
  • for 循环
   //打印正方形
   var str = '';
   for (var i = 1; i < 10;i++){
       for (var j =1; j < 10;j++){
           str += '*';
       }
       str += '\n'
   }
   console.log(str);

   //打印三角形
   var str = '';
   for (var i = 1;i < 10; i++){
       for(var j = i; j < 10;j++){
           str +='*';
       }
       str += '\n';
   }
   console.log(str);

   //打印九九乘法表
   var str = '';
   for(var i = 1; i < 10;i++){
       for(var j =i; j < 10; j++){
           str += i+'*'+j+'='+i*j+';';
       }
       str += '\n'
   }
   console.log(str);

  // 求整数50~200的第一个能被7整除的数
 for(var i =50; i <= 200 && i >= 50; i++){
      if(i % 7 === 0){
          console.log(i);
          break;
      }
  }

你可能感兴趣的:(2018-04-17)