豚鼠学习js第三周

豚鼠学习JS第三周

一、
1.运算符的优先级

请添加图片描述

  • 逗号运算符声明多个变量
    如:var a=1, b=2;
  • 优先级高先算
    一样高从走往右算,与大于或
  • 遇到优先级的不清楚的可以用括号括起来
2.代码块
  • 程序是一条一条语句构成的,语句是至上而下完成的,js中用{}进行分组,要么都执行要不都不执行。
  • 代码块后面不用加;,只有分组的作用,代码快的内容是制作外部是完全可见的
3.if语句
  • 通过流程控制语句可以选择条件执行
  • 语句分类
    1.条件判断语句
    2.条件分支语句
    3.循环语句
    符合条件判断才会执行
    求值为true则执行,false则不执行
  • 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
       <script>
        var a =1 ,n=10;
       if(a>1)
         {alert ("啊👆");
       
         }alert("啊↑?")


      if(n>1)
       { 
        if(n>10)
        {
            alert("4");
        }
        else if(n>8);
       { alert("10")}
       }
       </script>
</head>
<body>
    
</body>
</html>

请添加图片描述

请添加图片描述
请添加图片描述

3.if练习
  • 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
      <script>
        var a=prompt("吃皮带炖猪肉(1~100)");
             if(a>100||a<80){
                alert("看不懂中文?")
             }
            else if(a==100){
                alert("大嘴巴子");
            }
            else if(a>=80){
                alert("吃千年杀");
            }
      </script>
</head>
<body>
    
</body>
</html>

请添加图片描述
请添加图片描述

  • 最好添加非法判断
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
      <script>
        var a=prompt("吃皮带炖猪肉(1~100)");
             if(a>100||a<80){
                alert("看不懂中文?")
             }
            else if(a==100){
                alert("大嘴巴子");
            }
            else if(a>=80){
                alert("吃千年杀");
            }
      </script>
</head>
<body>
    
</body>
</html>

请添加图片描述
请添加图片描述

4.if练习二
  • 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>

var a,b,c;
        a=prompt("身高");
        b=prompt("资产");
        c=prompt("颜值");
        if(a>100,b>1000,c>500){
        alert("嫁");
        }
        else if(a>100||b>1000||c>500)
        {
            alert("嫁");
        }
        else{alert("真窝囊")}
    </script>
</head>
<body>
    
</body>
</html>

输入100 1000 500
请添加图片描述

5.条件分支语句
  • switch(条件表达式)
    case 表达式
    后接break;结束判断

  • 执行时会一次将case后的表达式的值和switch后的条件表达式的值进行全等比较,比较结果为true则执行此处代码,如果结果为假则继续比较

  • break用来退出语句

  • 实操效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var a ;
        a=prompt("shuru");
        switch(a){
            case 1:
                alert(1);
                break;
                case 3:
                alert(1);
                break;
                case 4:
                alert(1);
                break;
                default:
                    alert("null")

        }
    </script>
</head>
<body>
    
</body>
</html>

6.switch练习
  • 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var a;
        a=prompt("shjuru");
        switch(a)
        {case a>60:
            alert("及格")
            default: 
            alert("不及格")
        }
        

    </script>
</head>
<body>
    
</body>
</html>

请添加图片描述

请添加图片描述

7.while 语句
  • while(条件表达式){}
    先对表达式进行求值判断
    执行完毕表达式值为true再做判断
    直到值为faluse
    创建一个循环往往需要三个步骤
    1.初始化一个变量
    2.在循环中设置一个表达式的值
    3.定义一个表达式,没吃更新初始化变量
    do while循环
    先执行do的语句再进行判断
    两语句类似,不同的是循环体的先后执行
    do可以保证至少执行一次
    利用while可重置循环,在用户输入错误的情况下可以重新输入
  • 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var a=1000,b=0;
        while(a<=5000)
               {
                a*=1.05;
                b++;
               }
        console.log(b);
    </script>
</head>
<body>
    
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
 <script>
    while(1){
        var a=prompt("输入");
        if(a>0&&a<100){
            break;
        }
        else{alert("请输入正确的值")}
    }
 </script>
</head>
<body>
    
</body>
</html>

请添加图片描述
请添加图片描述
请添加图片描述

34.for循环
  • for语句,也是一个循环语句,也称为for循环

在for循环中,为我们提供了专门的位置来放三个表达式
for(初始化表达式;条件表达式;更新表达式)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        for(var b=0,a=1;a<101;a=a+2)
          {
          b+=a;
          }
          alert(b);
    </script>
</head>
<body>
    
</body>
</html>

请添加图片描述

8.for练习
  • 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        for(var a=7,b=0,c=0;a<105;a=a+7)
        {
            b+=a;
            c++;
        }
        alert(c)
        alert(b)
            </script>
</head>
<body>
    
</body>
</html>       
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        for(var a=100;a<1000;)
        {
            if(a=(a%100)^3+(a%10-(a%100)*10)^2+(a-100*(a%100)-10*(a%10-(a%100)*10)))
            {
                console.log(a);
            }
            else{
                a++;
            }
        }
    </script>
</head>
<body>
    
</body>
</html>

请添加图片描述
请添加图片描述
请添加图片描述

9.质数练习
  • 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var a;
        a=prompt("请输入一个大于一的数");
        if(a<1){
            alert("请输入正确数子");
        }
        else{
            for(var b=2;b<a;b++)
            {
                if(a%b==0){
                    alert("不是质数")
                }
            }
              alert("是一个质数")
        }

    </script>
</head>
<body>
    
</body>
</html>

请添加图片描述

11.质数练习的改进
  • 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var times;
          console.time(times);
        for(var a=2 ;a<=100;a++)
        {
            var c=true;
           for( var b=2 ;b<=Math.sqrt(a);b++)
           {
            if(a%b==0){
            c=false;
            }
        }
        if(c)
           {
            document.write(a+"<br/>");
           }
        }
        console.timeEnd(times);
    </script>
</head>
<body>
    
</body>
</html>

请添加图片描述

12.练习
  • 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        for(var a=1;a<9;a++)
        {
            for(var b=1;b<=a;b++)
            {
          document.write(a+"*"+b+"="+a*b+"&nbsp");
              
            }

            document.write("<br/>");
         
        }
    </script>
</head>
<body>
    
</body>
</html>

请添加图片描述

  • 可以使用css添加属性让其对齐
12.打印质数
  • 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
     
        for(var a=2 ;a<=100;a++)
        {
            var c=true;
           for( var b=2 ;b<a;b++)
           {
            if(a%b==0){
            c=false;
            }
        }
        if(c)
           {
            document.write(a+"<br/>");
           }
        }
    </script>
</head>
<body>
    
</body>
</html>

请添加图片描述

  • 注意变量位置
  • 如果变量协助外面不参与循环,变量的值会被修改
13.break和continue

if语句不能用break,但可以对for起作用
break会立即终止离他最近的那个循环语句
可以为循环语句创建一个label,来标识当前的循环

  • 如;lable:循环语句,其它名字也行
  • 使用break语句时,可以在break后跟着一个label,这样break将会结束指定的循环,而不是最近的循环
    • 如:break:lable
      continue是关键字可以用来跳过当次循环
      同样对最近的循环执行
      直接写相当于break
      console.time()可以开始一个计时器
      需要一个字符串作为计时器标识
      console.timeEnd()
  • 对性能提升很大
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var times;
          console.time(times);
        for(var a=2 ;a<=100;a++)
        {
            var c=true;
           for( var b=2 ;b<=Math.sqrt(a);b++)
           {
            if(a%b==0){
            c=false;
            }
        }
        if(c)
           {
            document.write(a+"<br/>");
           }
        }
        console.timeEnd(times);
    </script>
</head>
<body>
    
</body>
</html>

请添加图片描述

14.对象的简介

不属于5种基本数据类型都是对象

基本数据类型都是单一值,值和值之间没有任何的联系
基本数据类型都是单一值,值和值之间没有任何的联系

对象属于一种复合的数据类型,在对象中可以保存多个不同的数据类型

  • 对象的分类

1.内建对象
由es标准中定义的对象,在任何的es的实现中都可以使用
2.宿主对象
由js运行环境提供的对象
目前来讲主要指由浏览器提供的对象
比如bom dom
3.自建对象
由开发人员创建的对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <script>
        var duixiang= new Object();
        duixiang.shuxing="一串汉字";
       alert(duixiang.shuxing);
    </script>
</head>
<body>
    
</body>
</html>

在这里插入图片描述

15.对象的基本操作

var a= new object()
使用new关键字调用的函数,是构造函数constructor
构造函数是专门用来创建对象的函数
typeof 检查对象时,会返回object
向对象中保存的值称为属性值
语法:对象.属性名=属性值
obj.name=“孙悟空”
读取对象中的属性
语法:对象.属性名
读取对象没有属性会返回underfined
修改对象的属性值
语法:对象.属性名=新值
删除对象属性

16.属性名和属性值

属性名不强制要求遵守标识符规范
什么乱七八糟的名字都可以使用
使用时尽量按照标识符规范去做
如果需要使用特殊的属性名,能采用.的方式来操作
需要使用另一种方式

  • 语法对象【“属性名”】=属性值
    使用[]这种方式操作属性更加灵活,在【】中可以直接传递一个变量,这样变量值是多少就会读取那个属性
  • js的属性值可以是任意类型
    甚至也可以是一个对象
  • in运算符,通过该运算符可以直接检查一个对象中是否有指定的属性,如果有则返回true没有返回false
    语法:"属性名"in对象
    console.log(”test2“in obj)
  • 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
         var a={};
         a["!#@$%^^&"]="锄禾日当午";
       document.write(a["!#@$%^^&"]);
       b=a;
       document.write(b["!#@$%^^&"]);
    </script>
</head>
<body>
    
</body>
</html>
17.基本数据类型和引用数据类型
  • 请添加图片描述
    js中的变量保存到栈内存中
    基本数据类型的值直接在栈内存中存储
    变量间数值相互独立
    对象保存在堆内存中
    没创建一个新的对象,就会在堆内存中开辟出一个新的空间
    而变量保存的是地址
    var obj2=obj地址相同
    修改地址对应的东西则都改变
  • 比较两个基本数据类型时,比较值,两个引用比较,比较地址
18.对象字面量
  • {}=new object()
    使用对象字面量,可以在创建对象时,直接指定对象中的属性
    语法:{属性名:属性值,属性名:属性值}
    var obj2={name:抓捕接,age:5000岁}
    对象字面量的属性名可以加引号可以加,也可以不加
    属性名和属性值是一组一组的名值对结构,如果一个属性之后没有其它属性,不要写
  • 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var a={name:"小飞侠",
            age:1888,
            b:{class:"新的对象"}
        };
       alert(a.b.class)
    </script>
</head>
<body>
    
</body>
</html>

请添加图片描述
请添加图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值