JavaScript基础笔记(二)

一.运算符

运算符也被称为操作符,是用于实现赋值,比较和执行算数运算等功能的符号。

1.JavaScript中常用的运算符有:

1.算数运算符

+, -, *, / ,%(取余)

<script>
    console.log(1+1);
    console.log(1-1);
    console.log(1*1);
    console.log(1/1);
    console.log(4%2);
    console.log(5%3);
    console.log(3%5);//3
    //用浮点数,可能会有问题
    console.log(0.1+0.2);//0.30000000000000004
    console.log(0.07*100);//7.000000000000001
    //不能直接拿着浮点数判断是否相等
    var num=0.1+0.2;
    console.log(num==0.3);//false
   </script>
//由数字,运算符,变量等组成的式子,我们称为表达式,任何表达式都有返回值
    console.log(1+1);//2是返回值

2.递增和递减运算符

如果需要反复给数字变量添加或减去1,可以使用递增(++)和递减(--)运算符来完成。

递增和递减运算符必须和变量配合使用。

 //前置递增运算符 ++写在变量前面
    var age=10;
    ++age;
    console.log(age);
    //先自加1,在返回值
    var p=10;
    console.log(++p+10);//21
    //前置自增和后置自增如果单独使用,效果是一样的
    var num=10;
    num++;
    console.log(num);
    //后置自增先返回原值,再自加1
    var age=10;
    console.log(age++ +10);//20
    console.log(age);//11

    var a=10;
    ++a;//a=11
    var b=++a +2;//a=12 ++a=12
    console.log(b);//14

    var c=10;
    c++; //c=11
    var d=c++ +2;//c++=11  c=12  
    console.log(d);//13

    var e=10;
    var f =e++ + ++e;//1.e++=10 e=11 2. e=12  ++e=12
    console.log(f);//22

3.比较运算符

<,>,>=,<=,==,!=,===   !== 全等,要求值和数据类型都一致。

 console.log(18=='18');//true   ==会默认转换数据类型,会把字符串型的数据转换为数字型
    console.log(18===18);
    console.log(18==='18');//false 要求两侧的值,还有数据类型完全一致才可以。
   

4.逻辑运算符

&&,||,!

逻辑与,两侧结果为真时,结果才是真。

逻辑或,两侧结果为假时,结果才是假。

短路运算(逻辑中断):当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值。

逻辑与:如果第一个表达式的值为真,则返回表达式2。如果第一个表达式的值为假,则返回表达式1。

逻辑或:如果表达式1结果为真,则返回的是表达式1,如果表达式1结果为假,则返回表达式2.

 //逻辑与短路运算
   console.log(123&&456);//456
   console.log(0&&456);//0
   //逻辑或短路运算
   console.log(123||456);//123
   console.log(0||456);//456

5.赋值运算符

=,+=,-=,*=,/=

二.流程控制

1.流程控制

控制代码按照什么结构顺序来执行。

   流程控制有三种结构,分别是顺序结构,分支结构,循环结构,

2.顺序结构

3.分支流程控制

    //1.if的语法结构
    if(条件表达式){
        //执行语句
    }
    //2.执行思路,如果if条件表达式为真,则执行大括号里边的代码。

    var age=prompt('请输入年龄');
    if(age>=18){
        alert('我想去网吧');
    }
    var year=prompt('请输入年份');
    if(year%4==0&&year%100!=0 ||year%400==0){
        alert("是闰年");
    }else{
        alert('不是闰年');
    }
 var score=prompt('请输入成绩');
    if(score>=90){
        alert('A');
    }else if(score>=80){
        alert('B');
    }else if(score>=70){
        alert('C');
    }else if(score>=60){
        alert('D');
    }else{
        alert('E');
    }

三元表达式也能做一些简单的条件选择,有三元运算符组成的式子称为三元表达式

条件表达式?表达式1:表达式2

执行思路:如果条件表达式为真,则返回表达式1,如果为假,则返回表达式2

    var num=10;
    var result= num>5?'是的':'不是的';
    console.log(result);
var time=prompt('输入0-59之间的一个数字');
    var result=time<10?'0'+time:time;
    alert(result);
 switch(2){
        case 1:
            console.log('这是1');
            break;
        case 2:
            console.log('这是2');
            break;
        default:
            console.log('没有匹配结果');    
    }

当switch后的2和case后的1比较的时候,是全等,要求数据类型和值一致。

如果当前的case没有break,则不会退出,继续执行下一个case。

switch通常处理值比较确定的情况,if比较灵活。

4.循环流程控制

断点调试

 在浏览器运行界面中选择Sources,在程序代码前点一下,即可。

<script>
    //循环的目的,可以重复执行某些代码
    //在程序中,一组被重复执行的语句被称为循环体,能否继续重复执行,取决于循环的终止条件,
    //由循环体及循环的终止条件组成的语句,被称为循环语句
  
    // for(初始化变量;条件表达式;操作表达式){
    //    循环体
    //}

    for (var i=1 ; i<=100; i++) {
       console.log('你好啊');     
    }

    //for循环可以重复执行不同的代码
   for(var i=1;i<=100;i++){
    if(i==1){
        console.log('这个人1岁,出生了');
    }else if(i==100){
        console.log('这个人100了,死了');
    }else{
        console.log('这个人今年'+i+'岁');
    }
   }

   var sum=0;
   for(i=1;i<=100;i++){
    //sum=sum+i;
    sum+=i;
   }
   console.log(sum);
   </script>
   <script>
   /* for(var i=0;i<=5;i++){
        console.log('♥');
    }

    var str ='';
    for(var i=1;i<=5;i++){
        str=str+'♥';
    }
    console.log(str);

    var str='';
    for(var i=1;i<=5;i++){
        for(var j=1;j<=5;j++){
            str=str+'♥';
        }
        str=str+'\n';
    }
    console.log(str);
*/
/*
    var str='';
    for(var i=5;i>=1;i--){
        for(var j=5;j>=i;j--){
            str=str+'♥';
        }
        str=str+'\n';
    }
    console.log(str);
*/
   
/*var str='';
    for(var i=1;i<=5;i++){
        for(var j=i;j<=5;j++){
            str=str+'♥';
        }
        str=str+'\n';
    }
    console.log(str);
*/

    var str='';
    for(var i=1;i<=9;i++){
        for(var j=1;j<=i;j++){
           str+=j+'x'+i+'='+i*j+'\t';
        }
        str+='\n';
    }
    console.log(str);
   </script>
<script>
    var num=1;
    while(num<=100){
        console.log('你好啊');
        i++;

    }

    var messages=prompt('你爱我吗');
    while(message!=='我爱你'){
        message=prompt('你爱我吗');
    }
    alert('我也爱你');

//do while 至少会执行一次
    var i=1;
    do{
        console.log('ni hao  a');
        i++;
    }while(i<=100)

    do{
        var message=prompt('你爱我吗');
    }while(message!=='我爱你')
    alert('我爱你啊');

    for(var i=0;i<=5;i++){
        console.log('我是第'+i+'个数');
        continue;
    }

    for(var i=0;i<=5;i++){
        console.log('我是第'+i+'个数');
        break;
    }
   </script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值