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

  • 相关阅读:
    STL源码剖析之_allocate函数
    PAT 1018. Public Bike Management
    PAT 1016. Phone Bills
    PAT 1012. The Best Rank
    PAT 1014. Waiting in Line
    PAT 1026. Table Tennis
    PAT 1017. Queueing at Bank
    STL源码剖析之list的sort函数实现
    吃到鸡蛋好吃,看看是哪只母鸡下的蛋:好用的Sqlite3
    cJSON
  • 原文地址:https://www.cnblogs.com/Ssinoo/p/14016642.html
Copyright © 2011-2022 走看看