学习
文章平均质量分 51
小爱丨同学
这个作者很懒,什么都没留下…
展开
-
nvm 切换 node 默认版本
nvm切换node默认版本。原创 2023-01-30 19:17:09 · 247 阅读 · 0 评论 -
Object 的静态方法
仅供个人学习记录使用。表格内容来自MDN。编号函数名功能1Object.assign()通过复制一个或多个对象来创建一个新的对象。2Object.create()使用指定的原型对象和属性创建一个新对象。3Object.defineProperty()给对象添加一个属性并指定该属性的配置。4Object.defineProperties()给对象添加多个属性并分别指定它们的配置。5Object.entries()返回给定对象自身可原创 2021-11-27 00:12:55 · 197 阅读 · 1 评论 -
React-生命周期
React生命周期.1. 挂载componentWillMountcomponentDidMount2. 更新componentWillReceivePropsshouldComponentUpdatecomponentWillUpdatecomponentDidUpdate3. 卸载componentWillUnmount新的生命周期1. 挂载8. getDerivedStateFromProps9. componentDidMount2. 更新10. getDeriv原创 2021-10-17 09:20:45 · 47 阅读 · 0 评论 -
iframe阻塞window.onload
iframe加载,会阻塞window.onload。阻塞演示:外层页面<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> iframe{ max-height: 200px; overflow: auto; } </sty原创 2021-10-16 21:07:17 · 1746 阅读 · 0 评论 -
CORS跨域问题以及跨域之后Set-Cookie无法设置Cookie问题
文章目录express使用`cors`库自己写一个中间件跨域Set-Cookie无效服务端-expressexpress使用cors库const cors = require('cors')app.use(cors())从库的源代码中,我们可以看出使用的是res.setHeader方法。自己写一个中间件module.exports = () => (req, res, next) => { const ref = req.headers.origin; res.hea原创 2021-10-07 16:27:25 · 3151 阅读 · 1 评论 -
jQuery的深复制以及自己实现一个简单的
文章目录1. jQuery 的深复制2. 仿写一个自己的1. jQuery 的深复制 function copy() { var options, // 被复制对象,主要是用于遍历其属性 name, // 属性名 src, // 复制到的对象 copy, // 被复制对象的属性 copyIsArray, // 被复制对象的该属性是一个数组类型 clone, //原创 2021-09-26 20:05:22 · 310 阅读 · 0 评论 -
Promise(手动实现)
文章目录1. `Promise`1.1 `Promise` 的 基本使用1.1.1 创建1.1.2 静态方法1.1.3` then`、`catch`1.1.4 `finally`1.2 `Promise`实现1.2.1 确定成员函数和成员变量1.2.2 准备工作1.2.3 定义状态1.2.4 定义`MP`的结构1.2.5 实现`MpPrototype`1.2.5.1 实现`resolve`和`reject`函数1.2.5.2 实现`then`1.2.5.3 进一步完善`resolve`和`reject`函数原创 2021-09-25 12:19:59 · 802 阅读 · 0 评论 -
JavaScript-设计模式-观察者模式
文章目录原创 2021-08-14 00:52:50 · 67 阅读 · 0 评论 -
offsetX各种值总结
pageX: 页面X坐标位置pageY: 页面Y坐标位置screenX: 屏幕X坐标位置screenY: 屏幕Y坐标位置clientX: 鼠标的坐标到页面左侧的距离clientY: 鼠标的坐标到页面顶部的距离clientWidth:可视区域的宽度clientHeight:可视区域的高度offsetX:鼠标坐标到元素的左侧的距离offsetY:鼠标坐标到元素的顶部的距离offsetLeft: 该元素外边框距离包含元素内边框左侧的距离offsetTop:该元素外边框距离包含元素内转载 2021-08-05 15:36:34 · 2718 阅读 · 0 评论 -
HTML-DOM鼠标事件
HTML-DOM事件鼠标事件属性 描述 DOM onclick 当用户点击某个对象时调用的事件句柄。 2 oncontextmenu 在用户点击鼠标右键打开上下文菜单时触发 ondblclick 当用户双击某个对象时调用的事件句柄。 2 onmousedown 鼠标按钮被按下。 2 onmouseenter 当鼠标指针移动到元素上时触发。 2 onmouseleave 当鼠标指针移出元素时触发转载 2021-08-05 15:25:45 · 117 阅读 · 0 评论 -
JavaScript-设计模式-单例模式
文章目录单例模式简介分类闭包(熟悉闭包的可以跳)懒汉式单例模式饿汉式单例模式单例模式简介单例模式就是某一个类型在同一时间只能存在一个实例。例如,一个页面登录的弹窗就只能存在一个,存在多个…em不可想象。再例如,电脑上打开的任务管理器,一次只能打开一个。如果一次打开两个,两个显示CPU的占用还不一样,那就乱套了。所以针对某些只能或者只需要存在一个的实例,我们就可以使用单例模式。分类单例模式分为两种,懒汉式和饿汉式(之前还搜到有登记式,这个稍后再说)。懒汉式单例:就是在定义实例的时候,不原创 2021-08-03 14:57:58 · 280 阅读 · 0 评论 -
JavaScript-使用和不使用new关键字的区别
使用new关键字是利用构造函数去创建一个对象,不使用new关键字就是一次普通的函数调用。注:使用new关键字创建对象的内部过程:1. 创建一个新的对象2. 将新建对象设置为函数中的this3. 执行函数中的代码4. 将新建的对象作为返回值返回<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title>&l原创 2021-07-25 00:15:36 · 945 阅读 · 1 评论 -
html-javascript放在head和body的区别以及js文件加载带来的阻塞
文章目录1. JavaScript放在head和body的区别2. js文件加载的阻塞1. JavaScript放在head和body的区别在HTML head部分中的JavaScripts会在被调用的时候才执行。在HTML body部分中的JavaScripts会在页面加载的时候被执行。head 部分中的脚本: 需调用才执行的脚本或事件触发执行的脚本放在HTML的head部分中。当你把脚本放在head部分中时,可以保证脚本在任何调用之前被加载。body 部分中的脚本: 当页面被加载原创 2021-07-24 23:51:42 · 2749 阅读 · 1 评论 -
JavaScript-冻结对象
文章目录1. 冻结对象2. 冻结判断3. 深冻结和浅冻结1. 冻结对象Object.freeze()'use strict'let initialData = {a: 123};initialData.a = 234;console.log(initialData.a);Object.freeze(initialData);/** * 严格模式下会报错 * TypeError: Cannot assign to read only property 'a' of object '#原创 2021-07-19 13:04:42 · 984 阅读 · 0 评论 -
JavaScript-节流和防抖
@[DOC]1. 节流节流,控制执行次数,例如0.5s至多执行一次function debounce(fn, time) { // 规定在0.5秒之内只能触发一次 let t = null; return function(){ clearTimeout(t); // 清除上一次触发 t = setTimeout(function() { fn(); }, time); }};window.onscroll = debounce(function原创 2021-07-19 08:52:27 · 122 阅读 · 0 评论 -
JavaScript-事件委托
[@TOC]1. 事件委托机制事件委托利用事件冒泡,可以只使用一个事件处理程序来管理一种类型的事件。假设,你的列表里有100个列表项。现在需要去监听点击的列表项时哪一个,如果给每一个列表项都添加监听函数,那么就有100个事件处理程序,会占用大量内存。利用事件的冒泡机制,列表项的点击事件后续会冒泡到列表,可以给列表设置一个监听程序去捕获该次点击事件。列表监听到事件之后,只需要检查event对象的id属性就可以确认点击的列表项时哪一个。<!DOCTYPE html><html&原创 2021-06-24 21:35:07 · 93 阅读 · 2 评论 -
JavaScript-函数-1
[@TOC]1. 单线程首先,JavaScript是单线程的。如果JavaScript是多线程的,那么两个线程同时操作一个DOM节点,那么浏览器就不知道以谁为准。2. Event Loop单线程就意味着所有的任务都需要排队。那么如果一个任务特别耗时,那么后面的事件都会陷入等待。例如,请求图片迟迟得不到服务器响应,如果是单线程,页面就会陷入假死状态。所以引入了异步函数,让耗时的任务...原创 2021-06-24 12:11:27 · 44 阅读 · 0 评论 -
学习-Vue-(一)
学习-Vue-(一)基础知识基础知识引用Vue<script type="text/javascript" src="Vue.js"></script>创建Vue对象,做一个简单数据绑定<div id="app">{{msg}}</div><script>var app = new Vue({ el: "#app", data: { msg: "abc" }})<script>或者 el:原创 2021-04-21 00:39:45 · 114 阅读 · 0 评论