js原生面试总结

冒泡循环

var arr=[2,1,3,4,9,7,6,8]    
// 外层循环代表循环次数  内层循环时每次的两两对比 少一次循环
for (let i = 0; i < arr.length-1; i++) {// 如果进入判断代表当前值大于下一个是需要进行冒泡排序的let bool=truefor (let j = 0; j < arr.length-1-i; j++) {// 虽然进不去判断但是依然会将第二轮循环走完if(arr[j]>arr[j+1]){// 中间值的作用暂存当前值const element = arr[j];arr[j]  = arr[j+1]arr[j+1] = elementbool=false}}// 如果第一轮判断就实现排序就跳出if(bool){break;}
}console.log(arr)

防抖函数

// 防抖定义变量一定要在全局中如果在函数中每次点击都重新生成一个
call  传字符串  apply 传数组  bing 返回方法传数组function debounce(callback,time){let timer=null;let isNodeFirst=falsereturn function(){if(timer){clearTimeout(timer)}if(!isNodeFirst){callback.apply();isNodeFirst=true}else{timer=setTimeout(()=>{callback.apply();// 如果当前不重新赋值每次点击时就不会立即执行第一次isNodeFirst=falsetimer=null;},time)}}
}
let dd=debounce(aa,1000)
// 点击事件执行的是当前函数
// dd()

节流函数(节流参考)

function aa(){console.log(e.target.value)}function throttle(callback,delay){// 初始值必须定义在全局let start=0return function(){let current=Date.now()//如果初始时间为0   第一次不执行if(start==0){start = current}if((current-start)>delay){start=currentcallback.apply()}}}const th = throttle(aa,1000)// 每次执行事件都是这个函数
//  th()// 定时器执行   执行第一次立即执行function throttle(callback,delay){let timer=null;let start=0return function(){if(timer){clearTimeout(timer)}let current =+new Date()if(current-start>delay){callback.apply()start=currentreturn;}timer=setTimeout(()=>{callback.apply()timer=null;},delay)}}

获取固定对象深嵌套方法(获取对象深嵌套值)

//获取固定的深层嵌套对象var user = {name: 'xxx',address: {city: 'hangzhou'}};const str = 'address.city';const get = (obj, path, defaultValue) => {let result = obj, i = 0;const paths = path.split('.');while (i < paths.length) {result = Object(result)[paths[i]];if (result === undefined) {return defaultValue;}i++}return result;};console.log(get(user, str), '--');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/630752.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

脱离outlook的OST邮件缓存文件查看与转化PST文件教程

对于已经登录了outlook客户端且能正常收发邮件的&#xff0c;可以直接在outlook查看邮件内容和通过outlook转化为可被直接打开的pst备份文件。但对于因服务器故障或者临时拷贝备份的ost文件&#xff0c;因没有通过outlook账户类型的认证&#xff0c;是不能直接用outlook客户端打…

springmvc常用的组件

SpringMVC常用组件 以下的Handler也叫Controller。 1、DispatcherServlet&#xff1a;前端控制器&#xff0c;不需要工程师开发&#xff0c;由框架提供 作用&#xff1a;统一处理请求和响应&#xff0c;整个流程控制的中心&#xff0c;由它调用其它组件处理用户的请求 2、H…

海外购物商城源码 带即时通讯IM源码

海外购物商城源码- 即时通讯IM源码 随着电子商务的快速发展和全球化趋势的增强&#xff0c;越来越多的消费者选择海外购物商城。海外购物商城提供了丰富的商品种类和品牌&#xff0c;满足了消费者对高质量、多样化商品的需求。而且&#xff0c;它还提供了更方便的购物体验&…

macOS系统下载安装IDEA 操作流程

目录 第一步 进入官网&#xff0c;选择箭头指向的版本 第二步 下载完成后打开&#xff0c;拖动安装包安装​编辑 第三步 点击" project"&#xff0c;在JDK下拉框选择"Download JDK" 第四步 下载完成以后&#xff0c;点击右下角的Create按钮。 第一步 进…

2024年阿里云服务器4核8G配置活动价格多少钱?

阿里云服务器4核8g配置云服务器u1价格是955.58元一年&#xff0c;4核8G配置还可以选择ECS计算型c7实例、计算型c8i实例、计算平衡增强型c6e、ECS经济型e实例、AMD计算型c8a等机型等ECS实例规格&#xff0c;规格不同性能不同&#xff0c;价格也不同&#xff0c;阿里云服务器网al…

HarmonyOS—声明式UI描述

ArkTS以声明方式组合和扩展组件来描述应用程序的UI&#xff0c;同时还提供了基本的属性、事件和子组件配置方法&#xff0c;帮助开发者实现应用交互逻辑。 创建组件 根据组件构造方法的不同&#xff0c;创建组件包含有参数和无参数两种方式。 说明 创建组件时不需要new运算…

【数据分析实战】冰雪大世界携程景区游客客源分布pyecharts地图

文章目录 引言数据集展示Python代码可视化展示本人浅薄分析 写在最后 今年冬天&#xff0c;哈尔滨冰雪旅游"杀疯了"&#xff0c;在元旦假期更是被南方游客"包场"。据哈尔滨市文化广电和旅游局提供大数据测算&#xff0c;截至元旦假日第3天&#xff0c;哈尔…

RocketMQ Dashboard 详解

RocketMQ Dashboard 是 RocketMQ 的管控利器&#xff0c;为用户提供客户端和应用程序的各种事件、性能的统计信息&#xff0c;支持以可视化工具代替 Topic 配置、Broker 管理等命令行操作。 一、介绍​ 功能概览​ 面板功能运维修改nameserver 地址; 选用 VIPChannel驾驶舱查…

Opencv4快速入门笔记

opencv4 一、数据载入显示和储存 1.Mat类 cv::Mat a(640,480,CN_8UC3); //640*480 3通道 cv::Mat a(Size(480,640),CV_8UC1); Mat m a.clone();//克隆 Mat b (a,Range(2,5),Range(3,5));//截取a中2-5行&#xff0c;3-5列 Mat b(2,2,CV_8UC3,Scalar(0,0,255));//构造时赋值…

OpenCV——双边滤波

目录 一、双边滤波二、C代码三、python代码四、结果展示 OpenCV——双边滤波由CSDN点云侠原创。如果你不是在点云侠的博客中看到该文章&#xff0c;那么此处便是不要脸的爬虫与GPT。 一、双边滤波 双边滤波是一种综合考虑滤波器内图像空域信息和滤波器内图像像素灰度值相似性的…

综述:自动驾驶中的 4D 毫米波雷达

论文链接&#xff1a;《4D Millimeter-Wave Radar in Autonomous Driving: A Survey》 摘要 4D 毫米波 (mmWave) 雷达能够测量目标的距离、方位角、仰角和速度&#xff0c;引起了自动驾驶领域的极大兴趣。这归因于其在极端环境下的稳健性以及出色的速度和高度测量能力。 然而…

js逆向第22例:猿人学第18题jsvmp洞察先机

文章目录 一、前言二、定位关键参数1、处理CryptoJS加密2、被加密的值`value`和密钥`secret`是怎么来的三、代码实现一、前言 任务十八:抓取这5页的数字,计算加和并提交结果 标题已经给到提示jsvmp,这里先了解一下它: jsvmp技术提供了一种将JS代码编译成二进制指令集的方法…

小程序 自定义组件和生命周期

文章目录 ⾃定义组件创建⾃定义组件声明组件编辑组件注册组件 声明引⼊⾃定义组件⻚⾯中使⽤⾃定义组件定义段与⽰例⽅法组件-⾃定义组件传参过程 小程序生命周期应用生命周期页面生命周期页面生命周期 ⾃定义组件 类似vue或者react中的自定义组件 ⼩程序允许我们使⽤⾃定义组件…

CSS||选择器

目录 作用 分类 基础选择器 标签选择器 ​编辑类选择器 id选择器 通配符选择器 作用 选择器&#xff08;选择符&#xff09;就是根据不同需求把不同的标签选出来这就是选择器的作用。 简单来说&#xff0c;就是选择标签用的。 选择器的使用一共分为两步&#xff1a; 1.…

java-包详解

1、包介绍 为了更好的组织类&#xff0c;用于区别类名的命名空间&#xff0c;其实就是基于工程的一个文件路径&#xff0c;如&#xff1a; 2、作用 三个作用&#xff1a; 1&#xff09;区分相同名称的类。 2&#xff09;能够较好地管理大量的类。 3&#xff09;控制访问范围…

PAT甲级刷题日记

1001 AB Format PTA | 程序设计类实验辅助教学平台 #include <iostream> #include <iomanip>int main() {int a, b, sum;int three_digits[5];//sum从右到左每3位为一个数组元素std::cin >> a >> b;sum a b;if(sum 0)//防止输出three_digits[-1]{…

云边协同的 RTC 如何助力即构全球实时互动业务实践

作者&#xff1a;即构科技 由 51 CTO 主办的“WOT 全球技术创新大会 2023深圳站”于 11 月 24 日 - 25 日召开&#xff0c;即构科技后台技术总监肖潇以“边缘容器在全球音视频场景的探索与实践”为主题进行分享。 边缘计算作为中心云计算的补充&#xff0c;通过边缘容器架构和…

2、机器学习基础数据探索

加载并理解您的数据。 本课程所需数据集夸克网盘下载链接:https://pan.quark.cn/s/9b4e9a1246b2 提取码:uDzP 文章目录 1、使用Pandas了解你的数据2、解释数据描述1、使用Pandas了解你的数据 任何机器学习项目的第一步都是熟悉数据。您将使用Pandas库进行此操作。Pandas是数…

jmeter解决返回unicode编辑

一般乱码有两种方法来解决&#xff1a; 1、修改配置文件jmeter.properties中默认编码格式ISO-8859-1&#xff08;不支持中文),修改为utf-8 sampleresult.default.encoding utf-82、添加BeanShell PostProcessor加入 prev.setDataEncoding("utf-8")3、还有一种返回…

springboot(ssm母婴全程服务管理系统 母婴用品服务商城Java系统

springboot(ssm母婴全程服务管理系统 母婴用品服务商城Java系统 开发语言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysql 5.7&#xff08;或8.0&#xf…