jsday05

作者: 相信自己_胡 | 来源:发表于2017-11-29 19:43 被阅读0次

    今天学了什么

    1数组的增添

     var arr = [1,2]
        //push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
        // console.log(arr.push(3))
        // pop()方法可向数组的末尾删除并返回数组的最后一个元素
        // arr.pop()
       / / unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
        // console.log(arr.unshift(1,2,3,4))
        // shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
        // console.log(arr.shift())
    

    2.数组最大值最小值

    var arr=[10,4,48,56,3,2]
    //      arr.sort(function(a,b){
    //          return a-b
    //      })
                  字符串比较
            var arr1=["2a","15a","8a","10a"]
            arr1.sort(function(a,b){
                return parseInt(a)-parseInt(b)
            })
    

    3.冒泡排序

    var arr=[2,8,102,3,54,445,5]
                for(var i=0;i<arr.length-1;i++){
                    for(var j=0;j<arr.length-1;j++){
                        if(arr[j]<arr[j+1]){
                            var a=arr[j]
                            arr[j]=arr[j+1]
                            arr[j+1]=a
                        }
                    }
                }
    

    4.排他思想

    (for循环绑事件 for干掉所有人 保留自己 this ,
                
    //          btn 想控制对应 div 保存索引的思想 :给所有的btn(btn[i])都添加一个属性
    //          index 把 i 赋值给index
         // 给div 加背景色
        var arr = ["red","green","yellow","blue"];
        var btn = document.getElementsByTagName("button");
        var div = document.getElementById("box").getElementsByTagName("div");
        for(var i =0;i<div.length;i++){
            div[i].style.background = arr[i];
            div[i].innerHTML = i;
            div[i].style.fontSize = "100px";
        }
    
        for(var i =0;i<btn.length;i++){
            // 给所有的btn 绑定了一个点击事件 , 点击之后 弹出 i
            // 把i赋值给 一个变量(给每一个btn添加一个index 属性。保存对应的索引值)
            btn[i].index  = i;
            btn[i].onclick = function () {   
                // alert(this.index)
                // 绑定事件 的 function 里面的 i 是跳出循环 i
                // alert(i)
                // 干掉所有人
                for(var i = 0;i<btn.length;i++){
                    btn[i].style.background = "";
                    div[i].style.display = "none";
                }
                 // 保留自己(事件绑定中this永远指向事件的调用者)
                this.style.background = "green"
                // 点击btn 操作 div 时, 要想到借用 btn 的索引值(定义一个变量 保存索引值)
                div[this.index].style.display = "block"
            }
        }
    

    5.className

    className 
                // 在样式里面style  class 类名  
                //js 操作的时候  
                //div.className = "class 类名  "
                //div.style.  只不过 优先级问题
    

    函数

    1.定义函数

    //创建一个函数
                //第一种方式创建       
                function fn(){
                    alert(1)
                }
                //调用一个函数(让函数执行)  函数名+括号
    第二种
    var a=function  fn(){
    alert(1)
    }
    // 函数 相当于 工具 
                // 不用的话 没有意义  ,可以重复的用
    

    声明提升

                        console.log(a)
    //          这种可以访问函数体
    //          function a(a,b){
    //              return a+b
    //          }
    //          这种不提升,相当于提升一个变量a
    //          var a=function(a,b){
    //              return a+b
    //          }
    //           声明的变量会提升,但是赋值不会提升,在上面输出a会出来undefined
                    var a=1
    

    阶乘和函数

    var a=prompt("请输入")
                  function cj(a){
                    var dd=1
                for(var i=1;i<=a;i++){
                   dd=dd*i
                //  求阶乘
                }
                return dd
                }
                  console.log(cj(a))
                  
                      套用函数
                function su(a){ 
                       var sum=0;
                  求阶乘的和
                    for(var i=1;i<=a;i++){
                        sum+=cj(i)
                }
                    return sum
                }
                console.log(su(a))
    

    相关文章

      网友评论

          本文标题:jsday05

          本文链接:https://www.haomeiwen.com/subject/zagebxtx.html