首页 > 其他分享 >前端常见面试题笔记

前端常见面试题笔记

时间:2023-04-06 12:56:26浏览次数:48  
标签:面试题 函数 笔记 call 前端 timer 参数 arguments apply

/**
 * 防抖
 * 一段时间内触发重新计时
 */

function debounce (func, delay) {
    let timer = null;
    return function(){
        if(timer) clearTimeout(timer)
        timer = setTimeout(() => {
            // 箭头函数直接继承父级作用域 所以可 ...argumnets
            func(...arguments);
        }, delay);
    }
}

/**
 * 节流
 * 一定时间内,执行第一次,后面不执行
 */

function throttle(func, delay){
    let timer = null, self = this;
    return function(){
        if(timer) return;
        timer = setTimeout(() => {
            func.apply(self, arguments);
            timer = null;
        }, delay);
    }
}
apply call 和 bind 的差别 相同点 1.改变this 指向 2.第一个参数是this要指向的对象 3.都可以利用后续参数传参
不同点 1.call,bind 参数依次传入 apply只有两个参数,第二个参数是数组 2.call, apply直接调用 bind返回一个指向this的函数
原型链 对象只有_proto_属性,没有prototype属性 for in 能迭代出原型里面的属性
箭头函数 1.箭头函数简洁, 参数只有一个, 可以省略参数的括号,函数体只有一句,可省略花括号 2.不能作为构造函数使用 3.箭头函数没有自己的this,继承上一级作用域的this, this在定义的时候已经确定了,不会再发生改变 4.call apply bind 不能改变this的指向 5.没有自己的arguments, 箭头函数中的arguments实际上是上一级作用域中的arguments 定义对象的花括号不能单独形成一个执行环境

标签:面试题,函数,笔记,call,前端,timer,参数,arguments,apply
From: https://www.cnblogs.com/yigexiaojiangshi/p/17292428.html

相关文章

  • java面试题学习记录2
    1.索引的分类 主键索引,联合索引,唯一索引,全文索引,普通索引2.锁的分类 行锁:操作数据库时,锁定整行数据 表锁:操作数据库时,锁定整表数据 乐观锁:多线程情况下,认为其他线程不会去修改的数据,所以不会上锁,但是会在跟新时,判断一下数据有没有被改变,可以用版本号机制 悲......
  • 为何越来越多企业选择微前端?
    随着互联网应用的不断发展和迭代,传统的单体应用架构已经逐渐无法满足现代应用的需求。为了更好地适应快速变化的市场和业务需求,微服务和微前端架构成为了近年来的热门话题。其中,微前端架构作为前端开发的新兴架构模式,不仅可以提高开发效率、迭代速度和用户体验,还可以提高团队的协作......
  • 数组面试题
    1.消失的数字题目链接题目描述 解题思路异或操作符支持乘法交换律---> 0^3^0^1^0^1^2^3--->0^0^0^1^1^3^3^2--->相同的值异或为0--->0^2--->2intmissingNumber(int*nums,intnumsSize){intval=0;inti=0;for(i=0;i<numsSize;i++......
  • stm32的学习笔记1
    一目录结构管理  Libraries是放官方固件库的MDK-ARM是放产生的文件的,工程存放的目录USERS是放自己写的代码的然后是一个解释文件README在MDK-ARM目录里还要创建两个文件夹,分别是Listings和Objects二系统架构  在三个小方块处添加系统架构,StdPeriph-Driver是一些......
  • 微前端架构:将应用拆分为多个小型模块,实现模块化设计
    随着技术的不断发展和应用场景的不断变化,微前端架构也将不断演化和完善,成为更加成熟和稳定的前端架构模式,为开发者和企业带来更多的价值和机会。互联网应用的不断发展和迭代,传统的单体应用架构已经逐渐无法满足现代应用的需求。为了更好地适应快速变化的市场和业务需求,微服务和微......
  • 前端设计模式——MVC模式
    MVC模式(Model-View-Controller):是一种前端和后端都广泛应用的设计模式。它将应用程序的业务逻辑、数据表示和用户界面分离,使得开发人员可以独立地修改各部分而不影响其他部分。MVC设计模式有助于提高代码的可读性、可维护性和可重用性。MVC是Model-View-Controller的缩写,它将一个......
  • Mysql学习笔记(连载中)
    Mysql01使用CMD连接数据库--在控制台连接数据库(需将位置切换到mysql所在地址)mysql-uroot-ppassword:12345--修改mysql账户密码及权限,安装配置完后慎用updatemysql.usersetauthentication_string=password('12345')whereuser='root'andHost='localhost';......
  • 学习笔记292—docker api是什么
    dockerapi指的是docker的应用程序接口,是软件系统不同组成部分衔接的约定,docker主要有三大对外api:1、DockerRegistryAPI;2、DockerHubAPI;3、DockerRemoteAPI。本教程操作环境:linux5.9.8系统、docker-1.13.1版、DellG3电脑。一、什么是API1.API具体是什么?API这个词在......
  • 全网最详细中英文ChatGPT-GPT-4示例文档-会议笔记文档智能转摘要从0到1快速入门——官
    目录Introduce简介setting设置Prompt提示Sampleresponse回复样本APIrequest接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字,生成流畅和有趣的回答。如果你想跟上AI时代的潮流......
  • Spark学习笔记01
    1、spark程序开发完成后,打包成jar包。如何将jar包分发到spark集群?1、启动集群启动master./sbin/start-master.sh启动worker./bin/spark-classorg.apache.spark.deploy.worker.workerspark://localhost.localdomain:7077提交作业./bin/spark-s......