JS — websocket封装
摘要:class WebSocketRequest { constructor(url, options = {}) { this.url = url; this.socket = null; this.requestId = 0; this.requests = {}; this.options = O
阅读全文
posted @
2024-05-21 15:43
萬事順意
阅读(507)
推荐(0)
JS — webscoket详解
摘要:一.基本概念 WebSocket是一种在Web浏览器和服务器之间建立全双工通信的协议。它允许网页实时地发送和接收数据,而不需要页面刷新或像传统HTTP协议那样的轮询操作。 WebSocket使用HTTP协议进行握手,并通过Upgrade头字段指定从HTTP到WebSocket的转换。一旦握手成功,W
阅读全文
posted @
2024-05-16 15:02
萬事順意
阅读(3491)
推荐(0)
JS — fetch封装
摘要:function request(url, options = {}) { const defaultOptions = { method: 'GET', headers: { 'Content-Type': 'application/json', }, body: null, }; const r
阅读全文
posted @
2024-05-14 09:16
萬事順意
阅读(319)
推荐(0)
JS — fetch详解
摘要:Fetch API 是一组用于在 Web 浏览器中进行网络请求的现代 JavaScript API。它提供了一种更简洁、更强大的方式来处理网络请求,相比传统的 XMLHttpRequest 对象,Fetch API 更易于使用且功能更丰富。 1.Fetch的特点: 基于 Promise:Fetch
阅读全文
posted @
2024-05-13 09:42
萬事順意
阅读(13751)
推荐(2)
JS — 异步解决方案的发展历程以及优缺点
摘要:1.回调函数(callback) setTimeout(() => { // callback 函数体 }, 1000) (1)缺点:回调地狱,不能用 try catch 捕获错误,不能 return 回调地狱的根本问题在于: 缺乏顺序性: 回调地狱导致的调试困难,和大脑的思维方式不符 嵌套函数存在
阅读全文
posted @
2024-05-10 14:55
萬事順意
阅读(85)
推荐(0)
ES6中数组的高级用法
摘要:1. 箭头函数和数组方法的结合: 使用箭头函数结合数组方法可以简化代码: const numbers = [1, 2, 3, 4, 5]; // 使用箭头函数的 map 方法 const doubled = numbers.map((num) => num * 2); console.log(dou
阅读全文
posted @
2024-04-17 16:17
萬事順意
阅读(92)
推荐(0)
判断对象是否为空对象的方式
摘要://判断对象为空对象 // 1. Object.keys() let obj = { } function getObjLength(){ console.log(Object.keys(obj).length 0) //true } getObjLength() // 2.Object.entri
阅读全文
posted @
2024-03-18 10:14
萬事順意
阅读(41)
推荐(0)
this指向详解
摘要:JavaScript 中的 this 是一个关键字,它在不同的情况下会指向不同的值。this 的取值是在函数(非箭头函数)被调用时确定的,而不是在函数被定义时确定的。 1.全局上下文中: 在全局上下文中,this 指向全局对象,在浏览器中通常是 window 对象。 console.log(this
阅读全文
posted @
2024-02-27 22:20
萬事順意
阅读(480)
推荐(0)
JS的防抖和节流
摘要:1.防抖(Debouncing) 防抖的概念是当事件被触发后,等待一定时间间隔,如果在这个时间间隔内没有再次触发事件,那么执行相应的操作;如果在这个时间间隔内再次触发了事件,则重新等待一定时间。防抖常用于输入框输入验证、搜索框输入提示等场景,可以有效地减少不必要的请求或操作。 function an
阅读全文
posted @
2024-02-26 18:12
萬事順意
阅读(159)
推荐(0)
ES6技巧(快速解构赋值、数组去重、数组转对象)
摘要:1.如何将a,b的值快速互换 let a=1; let b = 2; [a,b] = [b,a] 解析: 首先,我们有变量 a 被赋值为 1,变量 b 被赋值为 2。 然后,[a, b] = [b, a] 这行代码实际上是将数组 [b, a] 解构赋值给了数组 [a, b]。 在解构赋值过程中,右侧
阅读全文
posted @
2024-02-26 14:22
萬事順意
阅读(208)
推荐(0)
ES6扩展运算符(...)
摘要:在 ES6 中,扩展运算符(...)是一种用来展开数组和对象的语法。它可以将一个数组或对象展开,以便在函数调用、数组字面量或对象字面量中使用。 1 // 1. 在数组中的应用: 2 let arr = [1,2,245,6] 3 let arr1 = [...arr,3,5,7] 4 console
阅读全文
posted @
2024-02-23 17:22
萬事順意
阅读(141)
推荐(1)
Object— Object.defineProperty()(详解、原理、作用、使用场景、使用方式)
摘要:一.Object.defineProperty()详解 Object.defineProperty() 是 JavaScript 中用于定义或修改对象的属性的方法,可以控制属性的特性(如可枚举性、可配置性、可写性等)。 Object.defineProperty() 方法的语法如下: Object.
阅读全文
posted @
2024-02-22 23:01
萬事順意
阅读(12455)
推荐(2)
Object — Object.values()
摘要:Object.values() 是 JavaScript 中的一个内置方法,用于返回一个包含指定对象所有可枚举属性值的数组。 Object.values() 方法会遍历 目标对象的可枚举属性(不包括继承的属性),并返回一个数组,该数组包含了这些属性的值。 1 let obj = { 2 name :
阅读全文
posted @
2024-02-22 21:30
萬事順意
阅读(1037)
推荐(0)
Object — hasOwnProperty
摘要:obj.hasOwnProperty(key) 是 JavaScript 中用于检查对象是否具有指定属性(不包括原型链上的属性)的方法。 hasOwnProperty() 方法是从 Object.prototype 继承而来的,在每个对象实例中都可以调用。它接受一个参数 key,表示要检查的属性名,
阅读全文
posted @
2024-02-22 21:15
萬事順意
阅读(486)
推荐(0)
Object — Object.keys()
摘要:Object.keys() 是 JavaScript 中的一个内置方法,用于返回一个由指定对象的所有可枚举属性的键组成的数组。 Object.keys() 方法会遍历目标对象的可枚举属性(不包括继承的属性),并返回一个数组,该数组包含了这些属性的键。 1 // (1)数组Array对象(返回索引值)
阅读全文
posted @
2024-02-22 16:35
萬事順意
阅读(211)
推荐(1)
Object — Object.is()
摘要:Object.is() 方法通常用于需要进行严格相等比较的场景,特别是在处理一些特殊值时更为实用。以下是一些适合使用 Object.is() 的场景: 1 // (1)比较字符串 2 let str = '1' 3 let str1 = '1' 4 5 console.log(Object.is(s
阅读全文
posted @
2024-02-22 15:51
萬事順意
阅读(72)
推荐(0)
Object方法 — Object.entries()
摘要:Object方法 — Object.entries() Object.entries() 方法是 JavaScript 中的一个静态方法,用于返回一个给定对象自身可枚举属性的键值对数组。 该方法接受一个对象作为参数,并将该对象的可枚举属性转换为一个二维数组,其中每个子数组包含两个元素:属性的键和属性
阅读全文
posted @
2024-02-22 11:04
萬事順意
阅读(7304)
推荐(2)
最简单的深拷贝和浅拷贝(原理)
摘要:拷贝:其实就是一个对象复制给另外一整个对象,让对象相互不影响。 对象的拷贝又分为浅拷贝和深拷贝 对象的浅拷贝:浅拷贝是指只复制对象的第一层属性,如果对象的属性值是引用类型(如对象、数组等),则复制的是引用,而不是真正的拷贝。 对象的深拷贝:深拷贝是指在复制对象时,不仅复制对象本身,还递归地复制对象所
阅读全文
posted @
2024-02-21 16:33
萬事順意
阅读(191)
推荐(0)
ES6中的class浅谈
摘要:在 ES6 中引入了类(class)的概念,让 JavaScript 更加接近传统面向对象编程语言。类提供了一种用于创建对象的模板,其中包含了属性和方法的定义。 1.定义类 使用 class 关键字可以定义一个类,类名通常以大写字母开头。 1 class Person { 2 3 4 constru
阅读全文
posted @
2024-02-21 15:19
萬事順意
阅读(23)
推荐(0)
JS--判断是否在某个时间段内(几点至几点)
摘要:1 function time_range(beginTime, endTime) { 2 var strb = beginTime.split(":"); 3 4 if (strb.length != 2) { 5 return false; 6 } 7 8 var stre = endTime.
阅读全文
posted @
2020-05-12 10:25
萬事順意
阅读(3351)
推荐(0)