zoukankan      html  css  js  c++  java
  • JS的循环、复杂运算符

    一.循环语句
    特点:可以重复完成同样的事情
    1.while(条件语句/boolean){
     重复执行的代码块
    }

    while的两种写法
            var a= prompt("请输入第一个数");
            var b= prompt("请输入第二个数");
            var i =a>b ?a:b;  //三目运算法
          //  while(i%a!==0 ||i%b!==0){
          //      i++;
          //  }      
            while(true){
                if(i%a!==0 && i%b!==0){
                    break;
                }
                else{
                    i++;
                }
            }
            console.log(a+'和'+b+"的最小公倍数数"+i);

    注意:循环要有结束,不然就是bug
         //练习一:1+2+3...+99+100;
            var a =1;
            var b =0;
            while(a<=100){
               b = a + b;
                a++;
            }
            alert(b);
         //练习二: 登录用户名和密码
           var a = prompt("请输入用户名");
           var b = prompt("请输入密码");
            while(a!="1"||b!="0"){
                alert("用户名或密码有误");
                a = prompt("请输入用户名");
                b = prompt("请输入密码");
            }
            alert("登录成功");

        //练习三:1+2-3+4-5+...-97+98-99+100
            var i =2;
            var b =1;
            var he=1;
            while(i<=100){
                he=he+b*i;
                i++;
                b=-b;
            }
            alert(he);

    2.终止循环break: 终止整个while语句
         //while里用if else时用break终止循环
           var a = prompt("请输入用户名");
            var b = prompt("请输入密码");
            while (true){
                if(a=="1" && b=="0"){
                    alert("登录成功");
                    break;
                }
                else{
                    alert("用户名或密码有误");
                    a = prompt("请输入用户名");
                    b = prompt("请输入密码");
                }
            }
    3.continue:立即结束本次循环,开始下一次循环
             var i=1;
             while(i<=5){
             if(i===3){
             i++;
             continue;}
             console.log(i);
              i++;
             }

    4.do while:
       与while是一样的,唯一的区别:while先判断再做;do while是现做再判断
         do{
        //要循环执行的代码块}
        while(条件语句/boolean)
    执行过程:
        代码从上到下执行的过程中,遇到do就会先执行一次do后面的代码,再通过while来进行判断,如果判断通过那么在执行一次,如果没有通过,就立即结束循环
           do{
                var a = prompt("请输入用户名");
                var b = prompt("请输入密码");
            }
            while(a!="1" || b!="0")
            alert("登录成功")

    5.for循环:
         作用:用来执行循环
         代码:for(var i =0;boolean表达式;i++){}
       当代码从上到下执行到for的时候,代码会先声明变量i并赋值i,会进行判断var i = 1分号后面的判断,判断i是否小于等于100,执行下面的循环代码,当下面的代码执行完成之后,再回来执行i++.

         var he = 0;
         for (var i = 1; i <= 100; i++) {
          he = he + i;
          }
         alert(he)
        

    13的阶层:从1乘到13
    水仙花数=百位上的数的立方+十位数的立方+个位数的立方

    求质数:两个变量 --双重变量

    二.复杂的数据类型:
    总结:在JS中数据类型分为两大类:  
           简单数据类型:string,number,boolean,undefined
           复杂数据类型:Null,Array,object,function

    堆和栈都是电脑内存,一般情况下,简单数据类型是存储在栈里面,复杂的数据类型是存储在堆里面的
     
    简单数据类型对应的是值类型
    复杂数据类型对应的是引用类型

    1. object对象;
       创建对象:var a = Object();
         a.xm = "zhao";
         a.chengji =99;

       对象属性的添加:点:官方名叫属性

    2.数组Array 
       数组的创建:var a = Array();

            var a = Array();
            a[0] = 81;//中括号里的数字叫下标
            a[1] = 82;
            a[3] = 92;
            alert(a[1]); // 数组取值
            alert(a.length);//输出3
    注意点:
     a)js数组是个无限大的容器;在java里面数组可以定义长度。
     
     b)元素可以任意添加:数量不限制,数据类型不限制(弱语言)。

     c)元素下标是0开始

    数组的length属性:指数组的长度。
         数组的便利:可以一次性输出所有数组
         for(var i=0;i<a.length;i++){
          console.log(a[i]); //输出a的所有数组
         }

    字符串也可以看成是一个数组
         var a ="abc";// 可以看成由a元素,b元素,c元素组成的数组

    3.函数founction:
        定义:
        作用:用来封装一些经常要用到的代码
        结构:function 函数名(){}
        调用:函数()

        function a(形参){
          console.log("我要吃火锅");
          console.log("我还要吃冰淇淋");
         }
          a(实参);
          a();
          a();//浏览器出现3次
      
       当创建函数的时候,函数名后面的参数叫做形参(形式参数)

       当调用函数的时候,函数名后面的参数叫做实参(实际参数)

    函数的返回值:
       跟在return后面的数据,叫做函数的返回值。
       一般情况下如果没有return,那么这个函数默认返回undefined

  • 相关阅读:
    [LeetCode] Merge Interval系列,题:Insert Interval,Merge Intervals
    [LeetCode] Simplify Path,文件路径简化,用栈来做
    [LeetCode] Sort Colors 对于元素取值有限的数组,只遍历一遍的排序方法
    [LeetCode] Largest Rectangle in Histogram O(n) 解法详析, Maximal Rectangle
    实现一个协程版mysql连接池
    Linux搭建kafka
    PHP信号管理
    virtual memory exhausted: Cannot allocate memory
    RSA 非对称加密,私钥转码为pkcs8 错误总结
    Git Flow 工作模型与使用
  • 原文地址:https://www.cnblogs.com/zhaowenxin/p/5962332.html
Copyright © 2011-2022 走看看