2021-06-16

基础数据类型和引用数据类型

在这里插入图片描述

  • 引用类型存储

    在这里插入图片描述

原型链
闭包
防抖和节流
  • 链接:https://segmentfault.com/a/1190000018428170
  • 防抖:当持续触发事件的时候,函数是完全不执行的,等最后一次触发结束的一段时间之后,再去执行。
    // 防抖
    function debounce(func, delay) {
      let timeout
      return function() {
        clearTimeout(timeout) // 如果持续触发,那么就清除定时器,定时器的回调就不会执行。  
        timeout = setTimeout(() => {
          func.apply(this, arguments)
        }, delay)
      }
    }
    
  • 节流:让函数有节制地执行,而不是毫无节制的触发一次就执行一次。什么叫有节制呢?就是在一段时间内,只执行一次。
    // 节流
    function throttle(func, delay) {
      let run = true
      return function () {
        if (!run) {
          return  // 如果开关关闭了,那就直接不执行下边的代码
        }
        run = false // 持续触发的话,run一直是false,就会停在上边的判断那里
        setTimeout(() => {
          func.apply(this, arguments)
          run = true // 定时器到时间之后,会把开关打开,我们的函数就会被执行
        }, delay)
      }
    }
    
箭头函数
  • 箭头函数都是匿名函数
  • 如果是简单操作,不写return也可以默认返回
  • 不能用作构造函数
    • 没有prototype属性
    • 不可以使用new命令,因为:
      • 没有自己的this,无法调用call,apply
      • 没有prototype属性 ,而new命令在执行时需要将构造函数的prototype赋值给新的对象的 __proto__
        • new原理
        - 创建一个新对象
        - 将构造函数的作用域赋给新对象(这个this就指向了这个新对象)
        - 执行构造函数中的代码(为这个新对象添加属性)
        - 返回新对象
        
  • this
    • 普通函数的this指向调用它的对象,如果是构造函数,则指向创建的实例对象
    • 箭头函数本身没有this,它在声明时可以捕获上下文的this,比如在全局作用域中声明,则捕获windowthis
    • 箭头函数的this一旦指向,则不会再改变,call、bind、apply都不行,因为没有this,但是可以改变其上下文的this,间接改变箭头函数
  • 不可以使用arguments对象,但是有rest参数
    let B = (b)=>{
    	console.log(arguments);
    }
    B(1,2,3,4,5);   // Uncaught ReferenceError: arguments is not defined
    
    let C = (...c) => {
    	console.log(c);
    }
    C(1,2,3,4,5);  // [1,2,3,4,5]
    
  • 不可以使用yield函数,不能使用Generator函数
从输入url到获取网页页面的详细过程
  1. 查询DNS(域名解析),获取域名对应的IP地址
  2. 浏览器与服务器建立tcp连接(三次握手)
  3. 浏览器向服务器端发送http请求(请求和传输数据)
  4. 服务器接受到这个请求后,根据路径参数,经过后端的一些处理生成html页面代码返回给浏览器
  5. 浏览器拿到完整的html页面代码开始解析和渲染,如果遇到引用的外部css、图片等静态资源,他们同样也是一个个htpp请求,重复上面的步骤。
  6. 浏览器根据拿到的资源对页面进行渲染,最终把一个完整的页面呈现给用户。
    • 解析html文件,生成DOM树
    • 解析css文件,生成CSSOM树
    • DOM树和CSSOM树生成渲染树(render)
    • 对元素进行布局,确定定位
    • 对页面进行渲染绘制
重绘和回流

在这里插入图片描述

兼容(opacity、transform)
  • -ms-: IE浏览器
  • -moz-: 火狐浏览器
  • -o-: 欧朋浏览器
  • -webkit-: 谷歌、苹果浏览器
call、bind、apply的区别
状态码
cookie
缓存们
算法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值