Javascript第二章

一、什么是变量

    经常改变的量。
    变量是程序在内存中申请的一块用来存放数据的空间。
    变量由变量名和变量值组成,通过变量名可以访问变量的值。
    
    回顾:Java的变量名的命名规则:
    1.不能以数字开头
    2.不能使用关键字(Java或JavaScript中自带的相关属性或方法。)
    3.严格区分大小写
    4.只能够由  数字  字母   下划线  $ 符号组成
    5.见名知意  例如age   name  而不是 a  b  c  d
    6.推荐使用驼峰命名法,例如studentName
    
    正课:JS的变量名的命名规则,和Java完全一致。
    
    下面哪个变量名式合法的。
    number       合法、
    88shout      不合法,数字开头
    myScore      合法
    &num         不合法
    var          不合法  关键字
    it123        合法 但是不推荐
    $tuition     合法


    常见的关键字:
    if       else        switch   for    class  
    do       while       case     break  contiue
    return   default    new      var    void
    
    
    预留关键字:现在还没有自带,但是未来有,已经提前预留了。
    implements    package   public  interface

二、js如何声明两个变量

            扫盲: var 是varible(翻译:变量) 的缩学
            
            回顾:Java是如何声明变量的:   数据类型   变量名   =   变量值   ; 
            js如何声明变量:      var 变量名   =   变量值   ; 
            潜台词:不管JS是什么数据类型,都用var.
            
            JS中声明变量的2种方式:
            1.先声明再赋值.例如:
            var num ;
            num = 10;
            
            2.声明的同时也赋值,例如:
            var age  = 20;

三、JavaScript中的数据类型

               回顾:Java中的数据类型分类:
                A.基本数据类型
                B.引用数据类型
                
                新课:JS同上,完全一致。
                
                
                回顾:
                Java中的基本数据类型:
                1字节:byte  boolean
                2字节:char  short
                4字节: int   float
                8字节:long  double
                Java中的引用数据类型:
                String   数组(Array)  任何Class,不管是你写的类还是JAVA自带的类。  
                
                JavaScript的基本数据类型:
                number  注意:number是数据类型但不是关键字
                string  注意:string在java是引用,在JS是基本
                boolean
                
                null
                undefined   
                bigint
                symbol
                
                JavaScript的引用数据类型:
                数组  Object  函数(方法) 等等

四、boolean和number和string讲解

            boolean读布尔
            js的boolean和java的boolean完全一致
            体现在:都是基本数据类型  都只有true和false
            意义:用程序表示一件事成功或者失败,或表示一个条件成立或不成立。
            JavaScript中严格区分大小写,因此true和false值只有全部为小写时才表示布尔型。

            
            
            
            js中的number(读数值类型)讲解
            一句话总结:即可以存放小数,也可以存储整数
             var a = 123;
             var b = 12.5;
            a和b都是number类型.没有加引号
            
            
            js中的string(读字符类型)讲解
            这里要注意:
            js的String和java的String不同之处1:
             string在java是引用,在JS是基本
            js的String和java的String不同之处2:
             string在java中通过双引号声明
             string在js  中既可以通过双引号也可以通过单引号声明
            例如:
            var str1 = "你好";
            var str2 = '我好';
            //以上都是string的写法

五、转义符的使用

             我想在页面输出:   你好,我的外号是"大聪明";
              document.write("你好,我的外号是"大聪明";");写法是错误的.不能同时存在多个双引号
             做法1:我们需要知道  单引号里面可以包着双引号
              document.write('你好,我的外号是"大聪明";');
             做法2:通过转义符--  反斜杠(enter上面的):\  斜杠:/ (shift左边的)
              document.write("你好,我的外号是\"大聪明\";");
            
             常见的转义符:
             见7_常见转义符.png 

六、常见转义符

七、null和undefined数据类型解析

             null 表示空的意思 例如:
             var str = null;
             null的注意事项:没有任何属性或方法可言
            
            
             undefined 表示未定义的意思 只声明了变量但是未赋值
             例如:
             var str123 ; 这个str123就是undefined

八、bigint和symbol讲解

             bigint 翻译:大数值
             如果存在需求需要计算很大很大(不用去记,因为很大。)数字,那么number将无法实现
             例如:下面的number绰绰有余
              var num1 = 1111111;
              var num2 = 2222222;
              console.log(num1+num2);
              var num1 = 11111111111111111111; number
              var num2 = 11111111111111111111; number
              console.log(num1+num2); 计算结果出现了误差
             所以就需要借助于bigint
             bigint类声明方法:
              var num3 = 1111111111111111111n; 只需要在最后加n即可
              var num4 = 1111111111111111111n; 只需要在最后加n即可
              console.log(num3+num4);
            
             symbol讲解:略 常用于独一无二的对象.

九、数据类型检查

            var num = 11; number
            var str = "11"; string类型
            console.log(num);
            console.log(str);
             以上写法:是我们可以看到的.所以可以知道是什么类型.
             但是缺点1:不方便在控制台得知是什么类型
            
            
             例如我们第一章节学习的prompt语法
              var money = prompt("请输入你的金额"); 通过money变量接受用户在前台输入的值
              console.log(money); 所需我们就要学习如何识别xx变量是什么类型
             总结:prompt的返回值都是string
            
            
             如何判断一个变量是什么类型
             语法:  typeof xxx 返回是一个数据类型
            var str = 123;
            console.log( typeof str); number
            str = "123";
            console.log( typeof str); string

十、掌握数据类型装换

             为什么要学习数据类型转换?见一下例题:
              var num1 = prompt("请输入第一个数");
              var num2 = prompt("请输入第二个数");
              alert("两数之和为" + (num1 + num2)); 这种写法是错误的  
             原因:prompt返回的是一个string类型,两个string类型相加,是以拼接的形式
            
            
             如何将字符串转成number类型.
             js提供了下面三个方法,各有区别,都要掌握
              parseInt()
              parseFloat()
              Number()
            
             parseInt 将一个字符串类型的数字解析成整数
              alert( parseInt("11.12")  ); 11
              alert( parseInt("11.99")  ); 11   总结1小数后面直接省略,不会四舍五入
              alert( parseInt("11.a12")  ); 11     总结2小数后面直接省略
              alert( parseInt("11a.a12")  ); 11    总结3:解析顺序从左到右,解析到非数字就停止.
              alert( parseInt("1a1a.a12")  ); 1    总结4:只需要记住总结3
              alert( parseInt("a11a.a12")  ); NaN      NAN 翻译: not a   numnber  不是一个数字
            
            
             parseFloat()和上面的语法完全一致,唯一区别保留小数
              console.log(  parseFloat("11.11") ); 11.11
              console.log(  parseFloat("11.11a") ); 11.11
              console.log(  parseFloat("11.1a1a") ); 11.1
              console.log(  parseFloat("11a.11") ); 11
              console.log(  parseFloat("a11.11") ); NAN
              console.log(  parseFloat("11.a") ); 11   
            
             Number()只能将真正的数字解析
              console.log(  Number("11.11") ); 11.11
              console.log(  Number("11") ); 11
              console.log(  Number("11") ); NAN

十一、算术运算符


                算数运算符有如下几种:
                +   -    *     /   %
                以上五种是最基本的加减乘除和取余
                其中取余的注意事项:例题如下            
            
              console.log(10%3); 1
              console.log(10%-3); 1
              console.log(-10%3); -1
              console.log(-10%-3); -1
             总结:取余结果的正负取决于%左边的正负,也就是两个数取余,首先全看成正数
             然后结果的正负和%左边的正负一致即可.
            
             ** 幂运算  语法:  a ** b  理解为a的b次方
              console.log(2**3); 8
            
             ++ 和 --  表示自增1  和自减1
             有两种用法:  a++ 表示先用在加   ++a表示先加再用
            
             做算数运算的注意事项: 任何编程语言都有一个通病
             做小数运算会可能损失精度
              console.log(0.1+0.2); 0.300000004
            
             所以JS提供了一个方法 来避免这种情况出现
               aaa.toFixed(num); 表示保留小数点后面几位小数
               aaa表示某个数  num表示保留几位   如果没写默认就是0
              console.log(  (0.1+0.2).toFixed(3)  );
             注意事项: 该方法的返回值是string类型.
            
            
             字符运算符 就是一个  +  
              字符之间的运算 通过 +  即可完成拼接
              var str1 = "张三";
              var str2 = "是猪";
              console.log(str1+str2); 张三是猪
            
             注意事项:任何类型 + string   = string
             所以:我们不仅可以将字符串转型成数字  也可以将任何类型 转成string
             最常见的做法: 直接和空字符串相加即可.这样不会影响值的本身.
              console.log( typeof (1234 + ""));

十二、赋值运算符


             赋值运算符:最常见的就是 =   将右边的式子赋给左边.
              var a = 2 ;
             不常见的有如下:
              +=   *=   -=  /=  %=
             例如
              a  =  a + 1; 等同于 a+=1;

十三、比较运算符

             比较运算符 用来比较两个值 怎么样 返回结果为boolean类型.
             例如常见的有以下:  >    <    >=  <=  !=   ==   
            
            
             了解一下的   ===   表示全等于 
             ==仅仅是判断值是否相等   ===不仅要值相等而且要类型相等
            console.log("1"  ==  1); true
            console.log("1"  ===  1); false

十四、逻辑运算符

             逻辑运算符的用法主要分为以下4类:
               && 短路与   & 逻辑与
               || 短路或   |逻辑或
             用法完全一致  区别如下:
               例如 a  &&  b
             如果a和b都为真,返回值才为真. 那么当a为false 将不会执行b
               例如 a  &  b
             如果a和b都为真,返回值才为真. 当a为false 将会执行b
               例如 a  ||  b
             如果a和b只要有一个为真,返回值才为真. 那么当a为true 将不会执行b
               例如 a  |  b
             如果a和b只要有一个为真,返回值才为真. 当a为true 将会执行b
            
            var num = 1;
            false && num++;
            console.log(num); 1
            true || num++;
            console.log(num); 1
            
            var num = 1;
            false & num++;
            console.log(num); 2
            true | num++;
            console.log(num); 3     

十五、三元运行符   

    
                三元运算符也称为三元表达式
                语法如下:
                条件表达式 ? 表达式1 : 表达式2

                如果条件表达式的值为true,则返回表达式1的执行结果。
                如果条件表达式的值为false,则返回表达式2的执行结果。
                常用于替代简单的if-else语句
            
            
           
           var age = 18;
             if (age>18) {
                 alert("成年了");
             } else{
                 alert("未成年");
             }
           alert( age>18?"陈年了":"未成年" );

十六、流程控制

 流程控制.如果没有流程控制,JS的代码将会从上至下依次执行
             有了流程控制,可以根据需求来进行代码的执行顺序
             JS中的流程控制:无非就是 if   和 switch
             其中if分为  简单的if    if-else   if else if  
            
              使用if语句实现只有当年龄(age变量值)大于等于18周岁时,才输出“已成年”,
              否则无输出。
              var age = 18;
              if (age>=18) {
                      alert("已成年");
              }
            
            
              使用if…else语句实现当年龄(age变量值)大于等于18周岁时,输出“已成年”,
              否则输出“未成年”,示例代码如下。
              var age = 18;
              if (age>=18) {
                      alert("已成年");
              }else{
                  alert("未成年");
              }
            
              使用if…else if…else语句实现对一个学生的考试成绩按分数进行等级的划分:
              90~100分为优秀,80~90分为良好,70~80分为中等,60~70分为及格,分数小于60则为不及格。
              var score = 75;
              if (score > 90) {
                  alert("优秀")
              } else if(score>80) {
                  alert("良好");
              }else if(score>60){
                  alert("及格");
              }else{
                  alert("不及格");
              }
        
         如果可能性较少 就有2-4种,使用if即可 如果可能很多就推荐使用switch
        
        
          switch语句也是多分支语句,相比if…else if…else语句,
          switch语句可以使代码更加清晰简洁、便于阅读,其语法格式如下。
        
            switch ( 表达式 ) {
              case 值1:
                代码段1;
                break;
            case 值2
                代码段2;
                break;
              ...
            default:
                代码段n;
            }
        
         使用switch语句判断变量week的值,若week变量的值为1~6时输出“星期一”~“星期六”,
         为0时输出“星期日”,若没有与week变量的值相等的case值时输出“错误”。
       
       var week = 2;
       switch (week){
            case 1:
                alert("周1");
                break;
            case 2:
                alert("周2");
                break;
            case 3:
                alert("周3");
                break;
            case 4:
                alert("周4");
                    break;
            case 5:
                alert("周5");
                break;
            case 6:
                alert("周6");
                break;
            case 0:
                alert("周日");
                    break;
            default:
                alert("没有这个日期");
                break;
       }
       
       
       
       
         注意事项1:break的重要性
        如果case中没有break,那么进入case之后,将不会跳出,而是会直接进入后续的case,并且是无条件进入,直到被break或执行完毕
       
         注意事项2:如果存在多个case有相同的结果,怎么节省代码量。

 var week = 2;
       switch (week){
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                alert("工作日");
                break;
            case 6:
            case 0:
                alert("节假日");
                    break;
            default:
                alert("没有这个日期");
                break;
       }

十七、循环结构

             for (var i = 1; i <= 100; i++) {
                console.log(i);             输出1、2、3、4、5、6……100
              }

              var i = 1;
              while (i <= 100) {
                console.log(i);
                i++;
              }


              var i = 1;
              do {
                console.log(i);
                i++;
              } while (i <= 100)

            
             常用的跳转语句如下。
              continue :  跳过本次循环,执行下一次
              break:   直接跳出循环.
            
             习题:  输出1-100  如果是3的倍数就不输出.如果输出了61就停止输出
            for(var i = 1; i<=100;i++){
                
                if(i%3==0){
                    continue;
                }
                
                if (i==61) {
                    break;
                }
                console.log(i);
                
            }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值