zoukankan      html  css  js  c++  java
  • JavaScript学习笔记


    title: JavaScript笔记
    tags: JavaScript
    categories: WEB


    DOM

    <body>
    <img src="20190325.jpg" id = "sakura">
    <script>
        var sakura = document.getElementById("sakura");
        var flag = false;
        sakura.onclick = function () {
            if(flag){
                sakura.src="1542983908(1).jpg";
                flag= false;
            }
            else {
                sakura.src="20190325.jpg";
                flag=true;
            }
        }
    </script>
    </body>
    </html>
    

    BOM

    window对象

    轮播图

    setInterval 重复执行

    setTimeout 执行一次

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>轮播图</title>
    </head>
    <body>
    <img src="img1.jpg" id = "img" width="100%" height="200px">
    
    <script>
        var img = document.getElementById("img");
        var num = 1 ;
        function fun() {
            num++
            if (num>3){
                num =1;
            }
            img.src="img"+num+".jpg";
        }
        setInterval(fun,1000);
    </script>
    </body>
    </html>
    

    Location

    实现点击后几秒 再跳转其他页面

    <a href="#" id="href">baidu</a>
    <p>
        <span id =time ></span>
    </p>
    <script>
        var href = document.getElementById("href");
        href.onclick=function () {
            setInterval(showtime,1000);
        }
        var second = 5;
        function showtime() {
            second -- ;
            if(second==0){
                location.href="https://www.baidu.com/";
        }
            var time = document.getElementById("time");
            time.innerHTML = second+"秒后,自动跳转。。。。";
    }
    

    let/var

    let 在if/for内定义,在外面就访问不到

     <script>
        for(var i =0 ;i<5 ;i++){
          console.log(i);
        }
        console.log(i);
    
        for(let j =0; j<5;j++){
          console.log(j);
        }
        console.log(j)
      </script>
    

    image-20201121162018651

    函数

    箭头函数

    <script>
        //箭头函数
        var greeting = ()=>{
          console.log("hello");
        };
        greeting();
        //一个参数 括号可以去掉
        var greeting2 = name =>{
          console.log(name+" say hello");
        }
        greeting2("ssinoo");
        // 多个参数
        var greeting3 = (name,age)=>{
          console.log(name+"is"+age);
        }
        greeting3("ssinoo","20")
        // 有返回值 传x 返回 x+1
        var increment = x=>x+1;
        console.log(increment(6));
      </script>
    

    image-20201121163020948

    自执行函数

     <script>
        var num1 =10;
        //自执行函数
        (function(){
          var num1 = 20;
          console.log(num1);
        })
        //调用方法
        ();
        console.log(num1);
      </script>
    

    image-20201121164224180

    回调函数

    <script>
        //回调函数
        function request(cb){
          console.log("请求数据");
          cb("success");
          console.log("请求结果");
        }
        request(result =>{
          console.log("执行回调");
          console.log("执行结果为:"+result);
        })
      </script>	
    

    image-20201121164902481

    数组

    删除数组 spice

    spice() : 删除数组中元素 (索引位置,删除数量,添加的数组 )

    <script>
        var arr =[1,2,3,4];
        //索引,几个 从索引为2开始 删除1个。
        arr.splice(2,1)
        console.log(arr); //[1, 2, 4]
        //删除为索引2开始,1个。并添加了[7,8,9]
        arr.splice(2,1,7,8,9)
        console.log(arr);
      </script>
    

    image-20201121170615842

    栈模式 push pop

    栈:先进后出

    push 在数组后面添加元素

    pop 删除数组最后面的元素

     <script>
        var stack =[1,2,3];
        stack.push(4,5,6);
        console.log(stack);
        //删除最后一个元素
        var last =stack.pop();
        console.log(stack);
      </script>
    

    image-20201121171417685

    队列模式 shift unshift

    队列:先进先出

    shift: 删除数组第一个元素

    unshift:在数组最前面添加元素

    <script>
        var queue =[1,2,3]
        queue.push(4,5,6);
        console.log(queue)
        // 删除第一个
        queue.shift();
        console.log(queue);
        //在数组前添加
        queue.unshift(7,8,9)
        console.log(queue);
      </script>
    

    image-20201121172010095

    数组排序

    <script>
        var arr =[1,4,2,5,3];
        //升序
        arr.sort()
        console.log(arr);
        //实现降序
        // arr.sort((a,b)=>{
        //   if(a>b){
        //     return -1
        //   }else if(a<b){
        //     return 1
        //   }else{
        //     return 0
        //   }
        // })
        arr.sort((a,b)=>b-a)
        console.log(arr);
      </script>
    

    image-20201121173730659

    数组连接 concat

    concat()

     var arr1 =[1,2,3];
        var arr2 =[4,5,6];
        arr1.concat(arr2)
    

    数组裁切 slice

    <script>
        var arr =[1,2,3,4,5,6];
        //包头不包尾 从索引1开始,-2(倒数第2个)
        console.log(arr.slice(1,-2));
      </script>
    

    image-20201121174332987

    reduce函数

    reduce 有4个返回值:

    1. 上一次计算的结果
    2. 当前遍历到的数组元素
    3. 当期遍历到的索引
    4. 数组本身
     <script>
        var arr =[1,2,3,4];
        
          arr.reduce((per,curv,curi,arr)=>{
           console.log(per);
           console.log(curv); 
           console.log(curi); 
           console.log(arr); 
           console.log("-----");
          })
          console.log(arr.reduce((f,s)=>f+s,5));
      </script>
    

    image-20201121180945778

  • 相关阅读:
    cpp学习
    7-2 求逆序对数目 (20分) 归并排序 O(nlogn)
    Egret 滚动背景图的实现
    Egret-我的疑问:Scroller如何禁止水平或垂直方向滚动
    Egret-我的探索:exml自定义组件中通过ID获取子组件实例
    Egret-我的疑问:自定义组件加载skin的操作
    Egret事件冒泡的应用
    Egret点击穿透(使遮盖可点击组件的其他组件禁止点击)
    Egret wing 4.1.6项目目录结构
    Egret分步加载资源改写loading界面
  • 原文地址:https://www.cnblogs.com/Ssinoo/p/14016642.html
Copyright © 2011-2022 走看看