
JS
文章平均质量分 56
JS常见问题
cv全粘工程师
全粘
展开
-
【JS 于TS的区别与联系】
总结起来,JavaScript和TypeScript都是用于Web开发的语言,JavaScript更灵活,可以在不同的平台上运行,而TypeScript更适合开发大型复杂的应用程序,提供了更好的代码组织和错误检查。由于TypeScript是在JavaScript之上构建的,因此可以轻松地将JavaScript库和框架与TypeScript一起使用。TypeScript是基于JavaScript的超集,也就是说,所有有效的JavaScript代码都是有效的TypeScript代码。原创 2024-02-01 14:36:56 · 490 阅读 · 0 评论 -
【navigator.userAgent属性】
navigator.userAgent属性判断浏览器环境,判断网页处于手机端还是PC端,判断手机系统类型,是安卓还是IOS原创 2024-02-01 14:30:14 · 1058 阅读 · 0 评论 -
【JS 判断数组是否包含某个元素】
【代码】【JS 判断数组是否包含某个元素】原创 2023-11-08 17:42:04 · 304 阅读 · 0 评论 -
【什么是闭包? 闭包产生的原因? 闭包有哪些表现形式?】
闭包是指一个函数可以访问并操作在其作用域之外的变量的能力。在 JavaScript 中,每当函数被创建时,就会创建一个闭包。// 输出 8在这个例子中,add函数返回一个新的函数,新函数可以访问add函数的参数x。addThree是一个闭包,它存储了add(3)返回的函数以及x的值,因此调用就会返回3 + 5 = 8。闭包在许多 JavaScript 库和框架中都得到了广泛的应用,它们可以用来实现许多高级功能,例如封装私有变量、延迟计算、事件监听和函数柯里化等。原创 2023-10-05 19:28:41 · 857 阅读 · 2 评论 -
【手写 Promise 】
接下来,我们需要定义一个 Promise 构造函数,它需要一个执行器函数作为参数。执行器函数接受两个参数 resolve 和 reject,它们是两个函数,用于修改 Promise 的状态。在构造函数中,我们定义了 Promise 的状态和值。onResolvedCallbacks 和 onRejectedCallbacks 数组用于存储 then 方法中传入的回调函数,当 Promise 的状态改变时,我们需要依次执行这些回调函数。原创 2023-10-04 20:10:50 · 150 阅读 · 0 评论 -
【JS DOM节点优化具体做法】
DOM节点优化可以通过以下具体方法来实现:1. 减少DOM操作次数:尽可能地将多个DOM操作合并成一个,减少JS代码对DOM的访问次数。2. 缓存DOM查询结果:将重复使用的DOM节点缓存起来,避免在每次操作时都进行DOM查询。3. 使用事件委托:在父节点上监听事件,而不是在每个子节点上,减少事件处理程序的数量,提高性能。4. 使用文档碎片(DocumentFragment):将DOM节点插入文档碎片中,在插入到文档中一次性渲染,减少页面重绘次数。5. 使用CSS选择器代替JavaScript查找原创 2023-08-18 17:18:21 · 266 阅读 · 0 评论 -
【JS 一个数组随机选取x个元素】
【代码】【JS 一个数组随机选取x个元素】原创 2023-08-10 14:31:34 · 339 阅读 · 0 评论 -
【网站收录前端需要怎么做?】
要想知道前端怎么做,首先我们来先了解一下这个收录是什么:网站收录是指搜索引擎将一个网站的信息加入到其数据库中,以便在用户搜索相关信息时能够显示该网站的相关内容。收录可以包括网站的主页、内部页面、图片、视频等内容。一般来说,搜索引擎会通过网络爬虫来收录网站页面。在收录规则方面,搜索引擎通常会考虑以下因素:网站质量:搜索引擎更喜欢质量高、内容丰富的网站,因此网站质量是影响收录的重要因素之一。网站结构:良好的网站结构可以使爬虫更方便地爬取网站内容,也可以提高网站的用户体验。原创 2023-08-10 10:52:21 · 341 阅读 · 0 评论 -
【JS 获取日期时间方法与常用的组合方法】
JS 获取年月日 获取时分秒 获取距离现在的时间(几分钟前,昨天...)获取本周,上周,上月 时间段原创 2023-08-09 17:24:22 · 1189 阅读 · 0 评论 -
【JS常见数据结构】
JavaScript数据结构是指数据的组织方式常见的数据结构包括数组、链表、栈、队列、树、图等。在JavaScript中,数组是最常见和最基础的数据结构,而链表、栈和队列等数据结构则需要通过对象和数组等方式进行模拟。图是由节点和边组成的一种非线性数据结构,它是一组二元关系的集合。节点也称为顶点,边用于连接节点,表示它们之间的关系。每个节点可以有多个相邻节点,这些节点通过边连接在一起。节点(顶点):表示图中的对象,可以是任何对象;边:连接节点之间的线段,表示节点之间的关系;原创 2023-08-08 15:45:27 · 717 阅读 · 0 评论 -
【JS 模块化导入导出import与export】
JavaScript 模块化是一种编程方式,允许将程序拆分成独立、可维护、可复用的模块。模块化的主要目的是简化代码,提高代码的可读性和可维护性。注意,使用默认导出时,可以使用任何名称进行导入。在这个例子中,我们将导入的类命名为。语句可以将模块中的变量、函数、类或对象导出到其他模块中使用。语句可以导入其他模块中导出的变量、函数、类或对象。在 JavaScript 中,我们可以使用。导入了一个默认导出,即。语句来导入和导出模块。以上代码中,我们通过。以上代码中,我们通过。以上代码中,我们通过。原创 2023-08-06 19:33:30 · 1130 阅读 · 0 评论 -
【JS 解构赋值】
通过解构赋值,我们可以快速方便地取出数组和对象中的值并赋值给变量。它可以极大地提高我们的开发效率和代码的可读性。原创 2023-08-06 19:15:47 · 349 阅读 · 0 评论 -
【CSS弹性盒模型 display:flex;常用参数及常见的布局】
定义多行情况下的对齐方式,可以是flex-start(靠近起点)、flex-end(靠近终点)、center(居中对齐)、space-between(每行之间相等间隔)、stretch(拉伸填满)等。定义在主轴上的对齐方式,可以是flex-start(靠近起点)、flex-end(靠近终点)、center(居中对齐)、space-between(两端对齐,中间间隔相等)等。指定如何换行,可以是nowrap(不换行)、wrap(换行,第一行在上方)、wrap-reverse(换行,第一行在下方)。原创 2023-08-05 18:16:21 · 1671 阅读 · 0 评论 -
【uniapp APP分享到微信】
uniapp APP分享小程序卡片,分享图片,分享图文,分享到朋友圈原创 2023-08-05 16:11:33 · 7246 阅读 · 4 评论 -
【uniapp APP如何优化】
uniapp 如何优化原创 2023-08-05 14:19:11 · 1471 阅读 · 0 评论 -
【console 方法】
console 是 JavaScript 的调试工具,用于在控制台输出信息。原创 2023-08-03 14:11:05 · 245 阅读 · 0 评论 -
【JS 阻止滑动穿透】
【代码】【JS 阻止滑动穿透】原创 2023-07-28 18:06:16 · 1526 阅读 · 0 评论 -
【JS 回收机制】
比如,它无法回收循环引用的对象,如果两个对象相互引用,而且没有其他变量引用它们,那么它们将一直存留在内存中。此外,垃圾回收器也有一定的性能成本,可能会对程序的性能产生影响,因此在编写代码时,应该尽量减少对象的创建和销毁,以便提高程序的效率。JavaScript 使用的是基于标记的垃圾回收机制,也就是说,当一个对象不再被使用时,引擎会将其标记为未使用。(Mark and Sweep):这是最常见的垃圾回收算法,它遍历内存中的所有对象,并标记被引用的对象,然后清除未被标记的对象。避免内存泄漏,如循环引用等。原创 2023-07-28 16:19:42 · 446 阅读 · 0 评论 -
【JS 代理Proxy】
JavaScript 代理是一种强大的功能,它允许你拦截对象上的操作,并在它们被执行之前或之后执行自定义代码。这使得开发人员能够创建功能强大的、动态的对象,以及更高级别的代码抽象。JavaScript 代理的主要用途是创建可观察对象、虚拟对象和代理实现。它们允许你将逻辑封装在代理中,并在对象上执行操作时访问对象的属性和方法。代理还可以用于数据验证、缓存和数据重载等功能。原创 2023-07-28 09:39:11 · 386 阅读 · 0 评论 -
【JS 宏任务与微任务】
具体来说,当一个宏任务执行时,其内部产生的微任务会被放入微任务队列中,而当宏任务执行完成后,才会执行微任务队列中的所有微任务,直到队列为空后,才会开始执行下一个宏任务。当一个宏任务执行完成后,会先执行所有的微任务,再执行下一个宏任务。调用栈为空时,才会执行宏任务队列中的任务,即每个宏任务只会执行一次。总结一下,我们可以通过控制微任务队列和宏任务队列的改变来优化程序的执行顺序,提高程序的性能。在JavaScript中,任务可以分为两种类型,即宏任务和微任务。原创 2023-07-28 09:09:40 · 299 阅读 · 0 评论 -
【JS 堆栈】
JavaScript 中的对象数据类型(如数组、函数、对象等)都是存储在堆中的。栈中的数据存储方式是连续的,栈的大小在程序运行时是固定的,不可动态分配。当脚本在运行时,每当函数被调用时,它会被添加到堆栈的顶部。当函数完成执行并返回结果时,该函数将从堆栈中弹出,并且控制权将返回到调用该函数的地方。在异步编程中,回调函数将被添加到回调堆栈中,以便在未来的某个时间执行。如果函数中再次调用其他函数,则该函数也会被添加到调用栈中。当函数完成执行并返回结果时,该函数将从调用栈中弹出,并将控制权返回到其调用者。原创 2023-07-27 16:51:17 · 140 阅读 · 0 评论 -
【JS async 详解】
在上面的代码中,getUserData函数使用async关键字标记为异步函数,并在内部使用await关键字等待fetch操作完成。fetch返回Promise对象,并使用await等待Promise对象的结果,然后解析响应的JSON内容。async函数是一个返回Promise对象的函数,可以通过await等待异步操作的结果。由于async/await使用Promise来管理异步操作,因此我们必须使用try/catch块来捕获Promise的拒绝(rejected)状态。原创 2023-07-26 18:29:31 · 391 阅读 · 0 评论 -
【JS 同步调用多个函数 Promise.all】
当数组中所有的 Promise 对象都成功(即状态为 resolved)时,返回的 Promise 对象状态为 resolved,并将所有 Promise 对象的结果组成的数组作为参数传递给回调函数;如果其中任意一个 Promise 对象失败(即状态为 rejected),返回的 Promise 对象状态为 rejected,并将第一个失败的 Promise 对象的错误信息作为参数传递给回调函数。在上述示例代码中,我们创建了三个 Promise 对象,分别代表三个异步操作。原创 2023-07-26 11:37:26 · 1163 阅读 · 0 评论 -
【JS Promise 及手写J简单Promise】
JavaScript Promise 是一种异步编程解决方案,它是一种对象,用于表示一个异步操作的最终完成或失败及其结果值。Promise 对象有三种状态:pending(等待态)、fulfilled(成功态)、rejected(失败态)。在 Promise 构造函数中,需要传入一个执行器函数(executor function),该函数含有 resolve 和 reject 两个参数。如果异步操作成功,则调用 resolve 函数,将结果作为参数传递给 then 方法中的成功态回调。原创 2023-07-26 11:28:33 · 230 阅读 · 0 评论 -
【JavaScript Static 方法】
总结一下,Static方法允许开发者在不创建实例的情况下访问类级别的操作,这在某些情况下非常有用。但请注意,在Static方法中无法访问实例变量和实例方法,因此应该选择正确的方法类型来实现所需的行为。JavaScript中的Static方法是一种特殊类型的方法,它们属于类本身而不是类的实例。Static方法中无法访问实例变量和实例方法,因为它们是定义在类实例上的。Static方法中的this关键字指向类本身,而不是类的实例。Static方法可以通过类本身来调用,而不需要创建类的实例。原创 2023-07-25 17:47:56 · 397 阅读 · 0 评论 -
【js Call、apply与bind 区别】
综上所述,Call 和 apply 用来改变函数的 this 指向并立即执行,而 bind 则是用来绑定函数与 this 的关系,返回一个新的函数。他们的第一个参数就是改变this指向的关键,如上,传入其他对象或函数,this指向就发生了改变,如果传入null 就默认指定window对象。Bind 方法也能改变函数的 this 指向,但它不会立即执行函数,而是返回一个新函数,需要调用才会执行。需要注意的是,bind 方法返回的是一个新函数,如果原函数有返回值,那么绑定后的函数也会返回相同的值。原创 2023-07-25 15:17:14 · 137 阅读 · 0 评论 -
【JavaScript中的Map】
例如,当需要存储动态的键值对集合时,Map是一个非常有用的工具。例如,可以使用Map来存储用户输入的数据,或者在需要在多个函数之间传递数据时使用Map。此外,Map可以用于在各种类型之间建立映射关系,例如在模板引擎中使用Map来存储变量和值之间的映射。JavaScript中的Map是一种数据结构,用于存储键值对。Map中的键和值可以是任何类型的数据,包括原始值和对象引用。Map提供了一些有用的方法,例如set()用于添加键值对,get()用于检索值,has()用于检查是否存在给定键等。原创 2023-07-25 14:25:55 · 501 阅读 · 0 评论 -
【js Set()】
Set() 是 JavaScript 中的数据结构之一,它类似于数组,但是每个值都是唯一的(没有重复的值)。add(value):向 Set 对象中添加一个新的元素。如果元素已经存在,则不会重复添加。Set() 对象是一种非常有用的数据结构,可以用于存储唯一值,去重,过滤重复数据等操作。delete(value):从 Set 对象中删除一个元素。has(value):判断 Set 对象中是否存在某个元素。clear():清空 Set 对象中的所有元素。size:获取 Set 对象中元素的数量。原创 2023-07-25 14:18:42 · 382 阅读 · 0 评论 -
【JS循环对象方法】
这种方法用于遍历数组中的每一个元素。在循环中,item表示当前遍历到的元素,index表示当前元素的索引。这种方法返回一个数组,其中包含对象的属性名。可以使用forEach()方法对每个属性名进行循环操作。这种方法返回一个数组,其中包含对象的属性值。可以使用forEach()方法对每个属性值进行循环操作。这种方法返回一个数组,其中包含对象的键值对。可以使用forEach()方法对每个键值对进行循环操作。这种循环适用于遍历对象的属性名。在循环中,key表示当前遍历到的属性名。原创 2023-07-18 16:17:08 · 1610 阅读 · 0 评论 -
【ES11、ES12、ES13 新特性】
可选链操作符 ?. Nullish coalescing 操作符 ?? Promise.allSettled() Promise.any() 方法 WeakRef 和 Finalizer API 数字分隔符 String.prototype.matchAll() 方法 BigInt Nullish coalescing 操作符 ?? Optional catch binding Array.prototype.flat() 和 Array.prototype.flatMap() 方法 Object.fr原创 2023-07-15 18:14:27 · 1703 阅读 · 3 评论 -
【JS,JQ,VUE返回顶部】
返回顶部一般可以用a标签得锚点和html元素的api我这里主要用到scrollIntoView。原创 2023-06-12 11:52:55 · 96 阅读 · 0 评论 -
【希望之光】
希望之光CSS 动画 漂浮动画原创 2022-12-15 23:21:35 · 117 阅读 · 0 评论 -
【JS数组转逗号分割的字符串】
数组用字符串分割,字符串转数组原创 2022-12-06 16:58:34 · 8186 阅读 · 0 评论 -
【JS String 对象】
字符串方法原创 2022-09-30 14:02:13 · 185 阅读 · 0 评论 -
JS阻止用户查看控制台代码
由于一个项目上线需要一个官网展示产品详情并提供下载地址,一开始想着工时问题,就像随便放几张图片上去,结果审核不通过给我驳回了,还说不能用图片。我们可以通过比较屏幕window.outerWidth和页面可见区域window.innerWidth的差距判断是否打开控制台;还有可以打开控制台时给页面添加debug,这些也是是可以破解的,需要的同学可以自己查阅相关资料。我这暴脾气,考虑到是不是审核的人查看了我的代码,于是联想到禁用打开调试台。我的官网这三个方法一用,直接就通过了。原创 2022-09-27 19:35:34 · 671 阅读 · 0 评论 -
【Js中Math方法整理】
Math常用方法原创 2022-09-14 18:38:20 · 185 阅读 · 0 评论