随笔分类 -  JavaScript

JavaScript. JavaScript 编程语言允许你在 Web 页面上实现复杂的功能。
摘要:#### 1. 什么是节流(throttle)和防抖(debounce) 1. 概念 - **节流**(throttle):是函数在一定时间内,不管调用了多少次,实际只会在最后的时候执行一次 - **防抖**(debounce):是函数在一定时间内,每次调用,都会重置倒计时,直到规定时间内没有再次调 阅读全文
posted @ 2023-05-26 09:24 pangqianjin 阅读(61) 评论(0) 推荐(0) 编辑
摘要:#### 1. prototype和__proto__ ```js function Foo() { ... } Foo.prototype.constructor Foo; // true let foo = new Foo(); foo.constructor Foo; // true ``` 阅读全文
posted @ 2023-05-22 17:52 pangqianjin 阅读(118) 评论(0) 推荐(0) 编辑
摘要:### 可能会遇到以下三类的script标签 ```html ``` #### 使用 async 和 defer 属性有一些规则需要遵守,以确保正确加载和执行脚本: 1. async 和 defer 属性只适用于外部脚本,即通过 src 属性加载的脚本。内联脚本不能使用这两个属性。 2. async 阅读全文
posted @ 2023-05-22 15:08 pangqianjin 阅读(326) 评论(0) 推荐(0) 编辑
摘要:1. 先看效果 2. 默认是关闭的,并且父级关闭后,子级的开关状态会被保留,再次展开时,可恢复; 3. 需要对details元素增加一个padding-left或margin-left,否则展开后,子级和父级是左对齐的,视觉效果不好; 4. 一般是details元素套一个summary元素和一个展开 阅读全文
posted @ 2023-05-18 14:58 pangqianjin 阅读(182) 评论(0) 推荐(0) 编辑
摘要:1. 存在的问题 typescript内置的Readonly类型只能为所有的属性加上readonly关键字,假设已经有如下的interface叫Circle: interface Circle { kind: "circle"; radius: number; x: number; y: numbe 阅读全文
posted @ 2023-04-10 18:05 pangqianjin 阅读(86) 评论(0) 推荐(0) 编辑
摘要:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="wi 阅读全文
posted @ 2023-04-06 15:59 pangqianjin 阅读(26) 评论(0) 推荐(0) 编辑
摘要:1. 可以监听window.onbeforeunload事件,在用户关闭标签页或浏览器时,做一些提示 比如: window.onbeforeunload = function (e) { return confirm("你的更改可能未保存,确定离开吗?"); } 2. 在测试时,发现有时可以,有时不 阅读全文
posted @ 2023-03-20 18:30 pangqianjin 阅读(257) 评论(0) 推荐(0) 编辑
摘要:// JS实现一个带并发限制的异步调度器Scheduler, // 保证同时运行的任务最多有两个。 // 完善代码中Scheduler类, // 使得以下程序能正确输出 class Scheduler { constructor() { this.count = 2 this.queue = [] 阅读全文
posted @ 2023-03-17 14:46 pangqianjin 阅读(470) 评论(0) 推荐(0) 编辑
摘要:### 一、原理主要是通过window.onhashchange方法监听window.location.hash的改动 1. 这里我直接用**a元素**来改变**hash** 2. 通过设置dom节点的**innerHTML**,来实现页面切换 3. hashRouter对象中使用**'#404'* 阅读全文
posted @ 2023-03-14 18:18 pangqianjin 阅读(26) 评论(0) 推荐(0) 编辑
摘要:1. 直接贴代码 class EventEmitter { constructor() { this.events = {}; } // 一个事件可能跟有多个订阅者,所以这里使用数组 events: Record<string, Function[]> on(eventName: string, f 阅读全文
posted @ 2023-03-04 13:41 pangqianjin 阅读(68) 评论(0) 推荐(0) 编辑
摘要:1. 效果(移动端展示,PC端屏幕太宽,tab item数量少滚动不起来) 默认选中第一个 点击话费直充,被激活的item会自动居中 2. 原理 这里我没有使用a标签加 **href="#xxid"**这种形式,因为浏览器地址会带上hash 我使用了scrollIntoView,但是默认元素滚动到视 阅读全文
posted @ 2023-02-10 20:08 pangqianjin 阅读(60) 评论(0) 推荐(0) 编辑
摘要:1. 代码 正常情况,两个图片的高度一致,宽度也一致,这时候没有什么问题 <view class="container"> <image class="icon" src="1.png" alt="" /> <image class="icon" src="2.png" alt="" /> </vi 阅读全文
posted @ 2023-02-04 12:59 pangqianjin 阅读(713) 评论(0) 推荐(0) 编辑
摘要:1. 直接贴代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" co 阅读全文
posted @ 2023-01-30 12:49 pangqianjin 阅读(531) 评论(0) 推荐(0) 编辑
摘要:举例 下面的方法复制到剪切板后,会吞掉 \r 和 \n: const copy = (value) => { const input = document.createElement("input");// 可以换成textarea标签 input.value = value; document.b 阅读全文
posted @ 2023-01-10 11:15 pangqianjin 阅读(136) 评论(0) 推荐(0) 编辑
摘要:1. 首先是user.jsx import React, { createContext, useReducer } from 'react' export const UserContext = createContext() const user = { username: '', email: 阅读全文
posted @ 2022-12-12 20:37 pangqianjin 阅读(108) 评论(0) 推荐(0) 编辑
摘要:有时候就是想搜索一个答案,看到知乎就点进去了,但是经常性地会弹出一个提示登录的弹窗,还特别大且无法左右滑动来找关闭按钮, 这就导致移动端的你还点击不到那个X按钮,就很烦。 说是去掉弹出窗口,实际上是帮你点击一下关闭按钮。 在安卓版的via浏览器中,设置->脚本->右上角添加->添加脚本 站点填写: 阅读全文
posted @ 2022-01-17 09:54 pangqianjin 阅读(5550) 评论(0) 推荐(0) 编辑
摘要:解决办法 在HTML代码的head中添加一句 <meta name="referrer" content="no-referrer" /> img标签多加一个字段 <img referrer="no-referrer|origin|unsafe-url" src="{{item.src}}"/> 阅读全文
posted @ 2022-01-01 13:30 pangqianjin 阅读(234) 评论(0) 推荐(0) 编辑
摘要:父元素样式(注意宽度必须指定才行): { width: 100vw; display: flex; justify-content: flex-right; } 最后一个子元素样式: { margin-left: auto; margin-right: 1rem;// 合适即可 } 效果: 阅读全文
posted @ 2021-12-30 09:24 pangqianjin 阅读(969) 评论(0) 推荐(0) 编辑
摘要:react-router-dom v6版本中的withRouter和Switch已过时,可以退回到v5版本继续使用,或者使用useNavigate()替代withRouter,使用Routes替代Switch。 例如: const navigate = useNavigate() navigate( 阅读全文
posted @ 2021-12-24 15:14 pangqianjin 阅读(4465) 评论(0) 推荐(0) 编辑
摘要:<div id="container"></div> <style> #container{ position: relative; margin: auto; width: 200px; height: 200px; background: url('./avatar.jfif') no-repe 阅读全文
posted @ 2021-10-01 21:01 pangqianjin 阅读(67) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示