JavaScript
文章平均质量分 64
JavaScript相关知识
Cshaosun
这个作者很懒,什么都没留下…
展开
-
获取日期范围【昨日、本周、近七天、本月、近31天、近三个月、本季度、近半年、今年、往年、自定义时间】、获取年份列表
【代码】获取日期范围【昨日、本周、近七天、本月、近31天、近三个月、本季度、近半年、今年、往年、自定义时间】、获取年份列表。原创 2024-11-07 14:03:29 · 107 阅读 · 0 评论 -
VUE2—defineProperty和VUE3—proxy 详解
使用过vue开发的盆友都知道Vue2和Vue3的响应式原理是不一样的,vue2用的是vue3用的是proxy。那他们具体是什么呢?又有什么区别呢?下面叫我简单做个笔记。有什么错误望各位大佬不吝指点。是 es5 引入的一个方法,用于定义或修改对象的属性的方法,可以控制属性的特性(如可枚举性、可配置性、可写性等)。Object.defineProperty()语法参数说明obj:定义属性的对象。prop:定义或修改的属性的名称。descriptor:属性的描述符对象,包含属性的特性设置。原创 2024-08-27 17:00:22 · 1034 阅读 · 0 评论 -
【前端储存】之localStrage、sessionStrage和Vuex
localStorage (本地存储)是一种在用户浏览器中存储数据的客户端存储方式,允许网站将键值对数据持久保存在用户的本地浏览器中。存储的数据不受浏览器关闭的影响,可以在不同会话和浏览器关闭后仍然保持有效。生命周期永久有效,除非手动删除,否则关闭页面也会存在可以多窗口(页面)共享(同一浏览器可以共享)以键值对的形式存储使用各浏览器支持的localStorage容量上限不同;一般上限为5MB如果key不存在则返回null,而不是 undefined。原创 2024-08-27 10:14:54 · 1194 阅读 · 0 评论 -
简说是什么虚拟DOM (Virtual DOM )
虚拟 DOM (Virtual DOM )这个概念相信大家都不陌生,从 React 到 Vue ,虚拟 DOM 为这两个框架都带来了跨平台的能力(React-Native 和 Weex)。因为很多人是在学习 React 的过程中接触到的虚拟 DOM ,所以为先入为主,认为虚拟 DOM 和 JSX 密不可分。原创 2024-07-26 16:29:27 · 411 阅读 · 0 评论 -
JS 数据类型检测的方式有哪些
Object.prototype.toString.call() 使用 Object 对象的原型方法。可以用来测试一个对象在其原型链中是否存在一个构造函数的。返回的结果结构是[object 数据类型],因此简单封装。通过ES6的Array.isArray()constructor 是每个。对象访问它的构造函数(实例的。基本类型封装成对象后才返回。属性,指向构造函数本身);的类型,其内部运行机制是。在对值类型number。(1)判断数据的类型;原创 2024-07-16 16:59:18 · 416 阅读 · 0 评论 -
扩展运算符(...)的作用及使用场景
同样, 如果用户自定义的属性, 放在扩展运算符后面, 则扩展运算符内部的同名属性会被覆盖掉。如果目标对象与源对象有同名属性, 或多个源对象有同名属性, 则后面的属性会覆盖前面的属性。Object.assign 方法的第一个参数是目标对象, 后面的参数都是源对象。)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中,这里。,将原对象(source)的所有可以枚举属性,复制到目标对象(target)。(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中。(如果将扩展运算符用于数组赋值,原创 2024-07-16 15:53:51 · 174 阅读 · 0 评论 -
js[数组、对象数组去重和删除指定值];[判断空对象]
特点:创建一个空 Map 数据结构,遍历需要去重的数组,把数组的每一个元素作为 key 存到 Map 中。由于 Map 中不会出现相同的 key 值,所以最终得到的就是去重后的结果。特点:新建一个空的结果数组,for 循环原数组,判断结果数组是否存在当前元素,如果有相同的值则跳过,不相同则 push 进数组。方法会删除数组中的最后一个元素,并返回该元素的值;特点:不考虑兼容性,这种去重的方法代码最少。方法会删除数组中的第一个元素,并返回该元素的值;当你想要删除特定的值时,这种方法更加简洁。原创 2024-06-25 17:00:08 · 707 阅读 · 0 评论 -
JavaScript 导致内存泄漏的场景和规避方法
在日常开发中,我们经常会无意识一些操作导致内存溢出。为此我总结一下内存溢出的几种场景供大家参考。希望能在优化自己代码的道路上有所帮助。原创 2024-06-19 17:03:36 · 794 阅读 · 0 评论 -
对this对象的理解
This 是执行上下文中的一个属性,它指向最后一次调用这个方法的对象。this的值并不是在函数定义时确定的,而是在。在实际开发中,this 的指向一般可以通过四种调用模式来判断。原创 2024-05-20 14:24:12 · 479 阅读 · 0 评论 -
call、apply、bind三者的区别
三者都可以改变函数的 this 对象指向。三者第一个参数都是 this 要指向的对象,如果如果没有这个参数或参数为 undefined 或 null,则默认指向全局 window。三者都可以传参,但是 apply 是数组,而 call 是参数列表,且 apply 和 call 是一次性传入参数,而 bind 可以分为多次传入。bind 是返回绑定 this 之后的函数,便于稍后调用;apply 、call 则是立即执行。原创 2024-05-13 14:52:02 · 554 阅读 · 0 评论 -
对Promise的理解
可以获取异步操作的消息, 它的出现大大改善了异步编程的困境,,它比传统的解决方案回调函数和事件更合理和更强大。Promise的实例有。原创 2024-05-11 15:26:58 · 634 阅读 · 0 评论 -
js异步编程的实现方式
这是异步操作最原始的用法。是不利于代码的阅读和维护,各个部分之间高度耦合(Coupling),流程会很混乱,而且每个任务只能指定一个回调函数。原创 2024-05-08 15:45:53 · 541 阅读 · 0 评论 -
JS 实现继承的几种方式
现在有parent、child两个函数,child函数的实例想要访问parent函数的属性和方法(child想要继承parent)。原创 2024-05-07 16:39:05 · 562 阅读 · 0 评论 -
includes()、startsWith()、endsWith()、indexOf()、lastIndexOf()介绍
includes()、startsWith()、endsWith()是新增的方法includes()、startsWith()、endsWith()的index表示从哪个位置查找【不写以字符串开头查找】)原创 2024-04-30 10:35:33 · 403 阅读 · 0 评论 -
for...in 和 for...of 的区别
for...of是ES6新增的遍历方式,允许遍历一个含有 iterator 接口的数据结构(数组、对象等)并且返回各项的值。原创 2024-04-26 17:31:29 · 350 阅读 · 1 评论 -
ES6 模块与 CommonJS 模块有什么异同
而 CommonJS 的模块导入则是通过值拷贝的方式来实现的,即每个变量都拷贝了一份导出变量的值。这意味着如果在 ES6 的模块中修改导出变量的属性,那么其他导入该变量的模块也会受到影响,而在 CommonJS 中则不会。ES6 的模块化适用于浏览器端和 Node.js 中使用,它采用了异步导入、编译时静态分析等技术,使得代码可读性更好,依赖关系更清晰,能够有效提高代码执行效率。而 CommonJS 则更适合于服务器端,因为 Node.js 中使用的大部分第三方模块都是基于 CommonJS 规范的。原创 2024-04-26 16:48:38 · 737 阅读 · 0 评论 -
escape、 encodeURI、 encodeURIComponent 三种编码方式的区别
如果要编码 URL ,但需要跳转地址,那只能用 encodeURI 方法,因为encodeURIComponent 会对 :/ 进行编码,会导致没法跳转地址。和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。编码之后的效果:%XX 或 %uXXXX这种形式。函数是对字符串进行编码的,作用是让他们在所有电脑上可见。ASCII字母、数字、~!方法生成新的由十六进制转义序列替换的字符串。进行编码的,唯一的区别是编码的范围不一样。ASCII字母、数字、~!原创 2024-04-24 16:25:26 · 318 阅读 · 0 评论 -
对JSON的理解
json是一种轻量级的数据交换格式json采用完全独立于计算机语言和操作系统的平台,不同的编程语言和操作系统json数据是一致的。原创 2024-04-24 14:55:10 · 197 阅读 · 0 评论 -
ES6之---Proxy简介
ProxyProxy是JavaScript中的内置对象,它提供了一种机制,可以拦截并自定义各种操作,如属性访问、函数调用、构造函数调用等。Proxy的构造函数接受两个参数目标对象(被代理的对象)和一个处理器对象(用于定义拦截器)。// 写法:target是目标对象,handler是处理器对象。原创 2024-04-24 10:59:28 · 497 阅读 · 0 评论 -
JavaScript 中的包装类型
在 JavaScript 中, 基本类型是没有属性和方法的, 但是为了便于操作基本类型的值,在调用基本类型的属性或方法时 JavaScript 会在后台隐式地将基本类型的值转换为对象JavaScript提供了三种包装类StringNumberBoolean。1、String包装类可以在字符串上调用各种方法,如等。// 输出 "HELLO WORLD"尽可能使用基本数据类型而不是对象包装器。明确了解自动装箱和拆箱的行为,以便明确何时发生转换。使用===原创 2024-04-22 11:02:13 · 917 阅读 · 0 评论 -
Object.is() 与比较操作符 “ ===” 、 “ ==” 的区别
都是比较两个值的相等性的。原创 2024-04-19 16:19:58 · 259 阅读 · 0 评论 -
如何获取安全的 undefined 值?
你可以为参数提供默认值。这样,如果调用函数时没有提供该参数的值,函数将使用默认值。原创 2024-04-19 10:23:57 · 583 阅读 · 0 评论 -
JavaScript 有哪些数据类型
JavaScript 共有 Undefined、 Null、 Boolean、Number、 String、 Object、 Symbol、 BigInt八种数据类型。注:Symbol 和 BigInt 是 ES6 中新增的数据类型(1)Undefined:【未定义/未初始化】此类型只有这一个值,当声明的变量未赋值时,就相当于 赋值了Undefined。(2)Null: 【空对象】Null只有一个值,null表示一个控制值对原创 2024-04-18 15:01:07 · 1202 阅读 · 0 评论
分享