鱼C论坛

 找回密码
 立即注册
查看: 2884|回复: 6

[见证历程] JS学习第五章(最近有点事更新的慢了的(=・ω・=))

[复制链接]
发表于 2021-1-29 11:51:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 yanghongchen666 于 2021-1-31 01:15 编辑

Js中的break和continue:

        break:
            break可以立即终止离它最近的switch和循环语句(if语句不能)
        continue:
            continue可以用来跳过当次循环,并继续进行,
                跟break一样,continue也只会对离它最近的循环起作用
        
     
  1.   for(var i=0; i<5; i++){
  2.             console.log("@外层循环" + i);
  3.             for(var j=0; j<5; j++){
  4.                 break;
  5.                 console.log("内层循环: " + j);
  6.             }
  7.         }
复制代码


        既然break可以终止离他最近的循环,那么上面的例子如果我想跳出外层循环要怎么办呢?
        其实答案也很简单啦~在JS中我们可以使用label来让break知道跳出那个循环,语法如下:

            label:循环语句
            break label;

        现在我们来改写上面的例子~

  1.         outer:
  2.         for(var i=0; i<5; i++){
  3.             console.log("@外层循环" + i);
  4.             for(var j=0; j<5; j++){
  5.                 break outer;//终止外层循环
  6.                 console.log("内层循环: " + j);
  7.             }
  8.         }
复制代码


        同样continue后面也可以写label哟~
      
  1. outer:
  2.         for(var i=0; i<5; i++){
  3.             for(var j=0; j<5; j++){
  4.                 if(j == 1){
  5.                     continue outer;
  6.                 }
  7.                 console.log("-->" + j);
  8.             }
  9.             console.log("@--->" + i);
  10.         }
复制代码

----------------------------------------------
JS中对象的简介:
    (嘿嘿嘿~没有npy的各位我们以后可以new一个对象啦!!!激不激动!赶紧来一起学习new对象!!!)

    对象的分类:
        1.内建对象
            -由Es标准定义的对象,在任何ES的显示中都可以使用
            -比如: Math String Number Boolean Function....
        2.宿主对象:
            -由JS的运行环境提供的对象,目前来说主要指浏览器
            -比如BOM DOM
        3.自定义对象
            -由开发人员自己创建的对象

    对象属于复合数据类型,在对象中可以保存多个不同数据类型的属性(下面有example)

    复合类型和基本类型的不同在于,基本类型创建的变量是独立的,也就是说值跟值之间没有任何的联系,
    但是复合类型值跟值间是由联系的

---------------------------------------------
JS中对象基本的操作:

        创建对象:
        //new关键字可以构造函数constructor
            var obj = new Object();
        
        在对象中添加属性
        语法:
            对象.属性名 = 属性值
            obj.name = "孙悟空";
            obj.age = 18;
            obj.gender = "男";

        读取对象中的值
        语法:
            对象.属性值
            console.log(obj.name);//这里会输出对应name属性里面的值,也就是孙悟空
        

        //修改对象的值
        obj.name = "猪八戒";
        在对象中属性的值可以直接覆盖

        //删除对象的值
        delect obj.name
        //如果读取对象中的属性不存在,不会报错而会返回undefined
        console.log(obj.name)
---------------------------------------------
JS对象中的属性名和属性值:

    语法:
        对象["属性名"] = 属性值
   
    我们可以使用[]方式来代替.的方式来操作
    使用[]可以在里面使用特殊的属性名
        比如: "1290384 9wtgyherw [29q3w5t3 qgy89ed"
              "锄禾日当午"
              (即使可以使用,但也不建议使用)
   
    []不仅可以使用特殊的属性名,也可以在[]中传递一个变量
        这样变量的值是多少就会读取那个属性
   
    例子:
        //创建对象
        var obj = new Object();
        var n = "123";

        obj["123"] = "number";

        /*
            这里我们在[]里传入变量n
            输出的值是"number"因为变量n的值为"123",而对象属性名中有"123",
                所以这里会直接打印"123"属性对应的值
        */
        console.log(obj[n]);

    obj中的属性值可以是任意的属性值,甚至可以使一个obj

    例子:
        //创建一个对象
        var obj2 = new Object();

        obj2.name = "猪八戒";

        //将obj2设置为obj的属性
        obj.test = obj2

        //在obj2里找name属性
        console.log(obj.test.name);//这里会输出猪八戒


    在对象中有时候我们不知道是否有这个属性在对象中存储,
        这时我们可以使用in运算符帮助我们,具体如下

         in 运算符
            -通过该运算符可以检查一个对象中是否含有指定的属性
                如果有则返回true,没有则返回false
            -语法:
                "属性名" in 对象

        例子:
            //检查obj中是否含有test2属性
           
  1. console.log("test2" in obj);
  2.             console.log("test" in obj);
  3.             console.log("name" in obj);
复制代码

----------------------------------------------------------
JS中的基本数据类型和引用数据类型:

        基本数据类型
            String Number Boolean Null Undefined
            
        引用数据类型
            Object

        JS中的变量都是保存在栈内存中的。
            基本数据类型的值直接在栈内存中存储
                 值与值之间是独立存在,修改一个变量不会影响其他的变量
            
            对象时保存在堆内存中的,每创建一个新的对象,就会在堆内存中开辟出一个新的空间
                而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象的引用,
                当一个通过一个变量修属性时,另一个也会受到影响

    两句话总结一下
        基本类型:在存储变量的值的时候,保存的就是当前的值,并且修改一个变量不会影响其他变量。
        引用类型:对象在保存值的时候,保存的是内存地址,所以这也就是为什么在obj中修改属性可以直接覆盖
                    因为在内存地址空间内会用新值覆盖旧值;这也解释了为什么obj的属性值也可也是对象
                        因为保存的对象的值也是相同的内存地址
----------------------------------------------------------------
JS中的字面量:
   
    使用字面量来创建对象会更加的方便和迅速
   
    语法:
        {属性名.属性值,属性名.属性值......};
   
    注意事项:
         对象字面量的属性名可以加引号也可以不加,建议不加,
            如果要使用特殊的名字,则必须加引号

        属性名和属性值是一组一组的名值对结构,
            名和值之间使用:连接,多个名值对之间使用,隔开
            如果一个属性之后没有其他的属性了,就不要写。(跟python的字典基本上一模一样~)

    例子:
      
  1. var obj2 = {
  2.             name:"孙悟空",
  3.             age:18,
  4.             gender:"男",
  5.             test:{
  6.                 name:"沙和尚",
  7.                 age:19,
  8.                 gender:"男"
  9.             }
  10.         };
复制代码


        这里字面量会比使用new Object()情况更多,请大家多多练习并熟练掌握~
--------------------------------------------------------


试一试:

1.使用for嵌套循环打印9*9乘法表(效果如下):
1*1=1
1*2=22*2=4
1*3=32*3=63*3=9
1*4=42*4=83*4=124*4=16
1*5=52*5=103*5=154*5=205*5=25
1*6=62*6=123*6=184*6=245*6=306*6=36
1*7=72*7=143*7=214*7=285*7=356*7=427*7=49
1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64
1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

2.使用for嵌套循环打印1-100以内所有质数

3.使用break来改进试一试2中的质数练习,让他效率变的更高吧!

4.创建一个对象属性包含country,city,shcool,job

5.使用对象字面量来创建试一试


前面两周有一些事情所以这一期更新的慢了一点~不过不用担心之后应该就是正常速度啦~希望大家多多支持鸭!一起学习~一起用编程改变世界!加油~

游客,如果您要查看本帖隐藏内容请回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-29 12:21:45 | 显示全部楼层

回帖奖励 +5 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-29 13:16:14 | 显示全部楼层

回帖奖励 +5 鱼币

支持楼主
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-29 13:49:49 | 显示全部楼层

回帖奖励 +5 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-30 10:00:22 | 显示全部楼层

回帖奖励 +5 鱼币

代码用编辑器“<>”括起来更美观哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-30 11:00:07 | 显示全部楼层

回帖奖励 +5 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-1-31 01:16:24 | 显示全部楼层
不二如是 发表于 2021-1-30 10:00
代码用编辑器“”括起来更美观哦

谢谢不二大大的提醒~~一直找不到这个功能现在找到啦!以后写代码案例就加上惹~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 05:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表