![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
Wrj6811
这个作者很懒,什么都没留下…
展开
-
在对象数组中,根据某个属性,删除树形结构中的某一项数据
在对象数组中,根据某个属性,删除树形结构中的某一项数据原创 2022-04-07 23:30:40 · 856 阅读 · 0 评论 -
使用JavaScript 实现 Array.flat()方法
Array.flat()介绍flat()方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。使用 Array.flat(depth)可以实现数组的扁平化参数depth可选(指定要提取嵌套数组的结构深度,默认值为 1)返回值一个包含将数组与子数组中所有元素的新数组。(所有和原数组没有关系,不会影响到原数组)下面看代码实现:首先:不看depth,不考虑深度问题。将实现方法加到 Arr...原创 2021-07-12 23:56:52 · 970 阅读 · 2 评论 -
防抖与节流实现
本文借鉴于https://segmentfault.com/a/1190000018428170防抖和节流是开发中经常遇到的需求,先看下 定义:一、防抖对于短时间内连续触发的事件(比如页面滚动事件),防抖的含义就是让某个时间期限(如1000毫秒)内,事件处理函数只执行一次function debounce(fn,delay){ let timer = null //借助闭包 return function() { if(timer){ .原创 2021-07-07 00:22:32 · 1273 阅读 · 0 评论 -
使用JavaScript 实现 split方法
/** * 将输入的字符串以逗号分割,忽略为空的情况只保留数组,返回一个数字组成的新数组 * 禁止使用 String.split * 提示:可以使用 String.chatAt 来取 String 的第 n 位字符,如 '012'.charAt(1) === 1 * @param {string} str 输入的字符串 * @param {string} tag 分割符 * @return {string[]} */ const str1 = ',1,2,3,,44,555,6,78,.原创 2021-07-03 23:20:46 · 1699 阅读 · 3 评论 -
js实现深拷贝
const deepClone = function(obj, cache = new WeakMap()) { // 判断是否是引用数据类型,基础数据类型本身就是地址拷贝 if (obj === null || typeof obj !== "object") return obj; if (obj instanceof Date) return new Date(obj); // 处理时间函数 if (obj instanceof RegExp) return new RegExp(o.原创 2020-12-21 14:48:51 · 165 阅读 · 0 评论 -
浅谈ES6中Promise
promise是ES6中新增的一个用于处理异步请求的一个方法。上面的图片展示了promise的基本 的方法和状态。那么如何使用 promise呢?1. 创建一个 Promise实例 const promise = new Promise((resolve, reject) => { if (/* fulfilled */){ return resolve(value) } else { // rejected r原创 2020-12-20 17:22:45 · 157 阅读 · 0 评论 -
传入一个数组如[‘a‘,‘b‘,‘a‘,‘c‘],把数组变成[‘a‘,‘b‘,‘a-2‘,‘c‘]的形式
代码function changeArr(arr) { var obj = {}; var temp = []; for (var i = 0; i < arr.length; i++) { var dt = arr[i]; if (obj[dt]) { obj[dt]++; temp.push(dt + "-" + obj[dt]); } else { obj[dt] = 1; temp.push(dt);原创 2020-11-23 15:09:37 · 415 阅读 · 0 评论 -
统计字符串里面或数组中出现相同的字母个数
function changeArr(arr) { var obj = {}; if (typeof arr === "string") { arr = arr.split(""); } else if (typeof arr === "number") { arr = arr.toString().split(""); } for (var i = 0; i < arr.length; i++) { var dt = arr[i]; if (ob.原创 2020-11-23 14:57:29 · 961 阅读 · 0 评论 -
网页动画气泡效果
打开网页,从网页底部生成一个一个的气泡,然后气泡上升到页面顶部消失。利用 setinterval定时器定时,每50毫秒生成一个气泡,然后设置他的样式,出现效果效果图:页面布局代码:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>网页动画气泡效果</title> <link rel="stylesheet" type="te.原创 2020-07-30 00:28:43 · 947 阅读 · 1 评论 -
在一段时间里面,生成随机数
应用场景:设置一个范围,然后随机显示出这个范围里面的数字。在一定的时间里面这个随机数不断的变化,直到时间结束,最终显示出最后的数字。代码如下:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>随机数生成</title> <style type="text/css"> .box{ margin: 0; pa.原创 2020-07-25 23:15:02 · 423 阅读 · 0 评论 -
移动端项目要配置的东西
1.视口(viewport) <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scaleable=no"> 2.点击响应延迟 3 毫秒原因:为了检查用户是否在做双击。为了能够立即响应用户的点击事件...原创 2020-05-04 18:42:38 · 210 阅读 · 0 评论 -
使用原生 js 实现 轮播图的效果
页面布局:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Do...原创 2020-04-19 23:41:02 · 168 阅读 · 1 评论 -
使用js实现鼠标拖动一个盒子移动的实例
代码如下<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Doc...原创 2020-04-11 17:43:02 · 2401 阅读 · 0 评论 -
输入一个时间,然后开始倒计时
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document&...原创 2020-04-07 15:03:49 · 1351 阅读 · 1 评论 -
使用js完成一个60秒倒计时,点击停止时就显示倒计时三个字
废话不多说,直接上代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Doc...原创 2020-04-02 20:54:08 · 1778 阅读 · 0 评论 -
使用async和await得到异步操作的数据
代码如下var asyncFunc = function (sql) { return new Promise(function (resolve) { mysql.query(sql, result1 => { resolve(result1) }) }) } const asyncDeal ...原创 2020-03-13 21:47:07 · 583 阅读 · 0 评论 -
遇到的跨域问题(使用fetchAPI的时候)
代码如下: fetch('http://localhost:3000/books', { method: 'post', body: JSON.stringify({ uname: '张三', pwd: '456' }), heade...原创 2019-11-14 23:51:57 · 495 阅读 · 0 评论 -
理解 js中同步操作和异步操作
字面误区:1、js同步操作任务,并非一起操作之意;2、js异步操作任务,也并非是指在不同线程里做不同的事情。本质理解:首先js的语言执行环境是单线程的,也就是一次只能完成一个任务,多个任务就必须按照时间先后排队,前面完成后才能完成后一个任务。这个是js的常规模式,也就也是同步操作任务。弊端:同步操作任务带来的问题是,只要一个任务执行时间过程,后面的任务都会排队等待,拖延整个程序的执行,如:...转载 2019-11-09 00:10:01 · 331 阅读 · 0 评论 -
实现搜索框功能(将搜索关键字标红,点击就加入到文本框中)
类似于百度的搜索框,当输入一个字或词的时候,自动检索有没有该内容,有的话把输入的关键字标红代码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>百度搜索框设置</title> <style&...原创 2019-11-06 11:22:51 · 4423 阅读 · 0 评论 -
选择框批量选择
点击一个选择框,其他选择框全选或全不选。当下面的选择框全选上时,上面的选择框也选上,下面的选择框没有全选上时,上面的取消选择。代码:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <...原创 2019-10-08 23:08:49 · 664 阅读 · 0 评论 -
上课随机点名
效果图:页面代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>点名表</title> <link rel="stylesheet" href="../css/index.css"&g...原创 2019-10-06 16:09:43 · 1240 阅读 · 4 评论