
Javascript高级
文章平均质量分 62
高热度网
主要技能:前端、小程序、网站开发,NodeJS全栈技术开发,欢迎交流
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入探索:JavaScript中实现乱序函数的艺术
乱序函数在JavaScript编程中具有广泛的应用场景,而Fisher-Yates洗牌算法则是实现这一功能的最常用和最可靠的算法之一。通过理解算法的原理和实现方法,我们可以轻松地编写出高效且可靠的乱序函数,并在实际项目中加以应用。同时,我们也可以考虑使用第三方库来简化代码和提高代码的可维护性。希望本文能够帮助你深入理解JavaScript中的乱序函数,并在你的编程实践中发挥出更大的作用。原创 2024-11-23 23:36:17 · 601 阅读 · 0 评论 -
深入探索:JavaScript中如何准确判断两个对象相等?—— 从0.1 + 0.2问题谈起
判断两个对象是否相等在JavaScript中是一个复杂的问题,特别是当涉及浮点数和复合类型时。理解JavaScript中的相等性判断机制。使用epsilon比较来处理浮点数精度问题。实现或使用深度相等检查函数来比较对象和数组的内容。考虑使用第三方库来简化比较过程。通过掌握这些技巧,我们可以更加准确地判断对象的相等性,避免在JavaScript编程中遇到一些常见的陷阱。原创 2024-11-23 23:34:15 · 981 阅读 · 0 评论 -
封装实现通用的 `forEach` 函数:深入JavaScript的迭代机制与细节优化
通过封装实现一个通用和健壮的forEach函数,我们不仅加深了对JavaScript迭代机制的理解,还提高了自己的编程能力和对函数式编程的掌握。在实际开发中,虽然我们可以直接使用JavaScript原生的forEach方法,但了解并掌握其背后的实现原理以及可能的扩展和优化点,对于我们成为更优秀的开发者是非常有帮助的。原创 2024-11-22 23:54:41 · 430 阅读 · 0 评论 -
Javascript高级—深入JS模板字符串的高级用法
标签模板是模板字符串的高级特性之一,它允许我们定义一个函数来处理模板字符串。这个函数会接收两个参数:一个是由模板字符串中的文本部分组成的数组,另一个是由模板字符串中的表达式部分组成的数组。通过这两个参数,我们可以实现自定义的字符串处理逻辑。// 输出: [ 'Hello, ', ' world ', '!' ]// 输出: [ 'Alice', 30 ]return `${// 输出: [ 'Hello, ', ' world ', '!原创 2024-11-21 23:39:19 · 583 阅读 · 0 评论 -
Javascript高级—JS Generator执行细节分析(co库底层实现原理)
Generator函数是一种特殊的函数,它允许在函数执行过程中暂停和恢复。与普通函数不同,Generator函数不会立即执行完毕,而是返回一个迭代器对象。这个迭代器对象具有一个next方法,用于恢复函数的执行并返回结果。定义一个Generator函数非常简单,只需在函数声明前加上一个星号()即可。yield 1;yield 2;return 3;在这个例子中,gen是一个Generator函数,它返回一个迭代器对象iterator。当我们调用时,函数会执行到第一个yield语句并暂停,返回。原创 2024-11-21 23:36:37 · 863 阅读 · 0 评论 -
Javascript高级—for of 与迭代器
迭代器对象: 所谓迭代器,其实就是一个具有 next() 方法的对象,每次调用 next() 都会返回一个结果对象,该结果对象有两个属性,value 表示当前的值,done 表示遍历是否结束。原创 2024-11-20 23:58:40 · 324 阅读 · 0 评论 -
JavaScript 高级—模拟实现私有变量(面试必备技能)
在 JavaScript 中模拟私有变量虽然需要一些额外的技巧,但通过使用闭包和Symbol,我们可以实现类似的效果。这些技巧不仅有助于提升代码的安全性,还能在面试中展示出你对 JavaScript 的深入理解。无论你是初学者还是经验丰富的开发者,掌握这些技巧都将对你的编程技能产生积极的影响。原创 2024-11-19 18:49:10 · 446 阅读 · 0 评论 -
JavaScript 高级—求数组的最大值与最小值
Math.max和Math.min配合apply或扩展运算符是最简单和推荐的方式,而手动遍历数组的方法则提供了更多的灵活性和可定制性。无论你选择哪种方法,都可以轻松地在 JavaScript 中找到数组的最大值和最小值。希望这篇文章能帮助你更好地理解数组操作,并在实际编程中加以应用。原创 2024-11-19 18:45:27 · 600 阅读 · 0 评论 -
Javascript高级:深度解析与多种实现方式数组扁平化
在JavaScript编程中,数组扁平化是一个常见的操作,指的是将一个多维数组转换成一个一维数组。这个过程中,所有嵌套的数组元素都会被“拉平”到同一个层级。数组扁平化在处理嵌套数据结构时非常有用,比如解析多层嵌套的JSON数据,或者处理从函数返回的嵌套数组结果。综上所述,数组扁平化是处理嵌套数据结构的重要操作之一。通过选择合适的方法,可以高效地实现数组扁平化,从而简化数据处理过程。通过递归函数,可以遍历每一层数组,并将其元素添加到结果数组中。方法也可以用来实现数组扁平化,结合递归可以处理任意深度的嵌套。原创 2024-11-18 20:19:59 · 271 阅读 · 0 评论 -
Javascript高级—数组去重的5种方式
数组去重是 JavaScript 编程中的一个常见需求,有多种方法可以实现。Set数据结构因其简洁和高效,通常是首选的方法。filterindexOfreduceforEach+ 临时对象以及Map也可以实现数组去重,但各有优缺点。选择哪种方法取决于具体的需求和性能考虑。在实际开发中,可以根据具体情况选择最适合的方法来实现数组去重。原创 2024-11-17 17:29:21 · 200 阅读 · 0 评论 -
Javascript高级—函数柯西化
使用Javascript实现函数柯西化。原创 2024-11-17 17:28:10 · 222 阅读 · 0 评论 -
Javascript高级—Promise的模拟实现
使用Javascript模式Promise的模拟实现。原创 2024-11-16 21:55:08 · 228 阅读 · 0 评论 -
Javascript高级—Arguments参数如何使用?
arguments的应用其实很多,在下个系列,也就是 JavaScript 专题系列中,我们会在 jQuery 的 extend 实现、函数柯里化、递归等场景看见 arguments 的身影。原创 2024-11-16 21:53:54 · 195 阅读 · 0 评论 -
Javascript高级—Arguments参数如何使用?
arguments的应用其实很多,在下个系列,也就是 JavaScript 专题系列中,我们会在 jQuery 的 extend 实现、函数柯里化、递归等场景看见 arguments 的身影。原创 2024-11-15 20:22:15 · 162 阅读 · 0 评论 -
Javascript高级—常见算法
使用Javascript实现常见算法。原创 2024-11-14 23:11:31 · 275 阅读 · 0 评论 -
Javascript高级—搜索算法
使用Javascript实现搜索算法。原创 2024-11-14 23:10:29 · 307 阅读 · 0 评论 -
Javascript高级—多种排序算法
使用Javascript实现多种排序算法。原创 2024-11-14 23:09:31 · 275 阅读 · 0 评论 -
Javascript高级—DOM树的深度遍历和广度遍历
Javascript高级—DOM树的深度遍历和广度遍历。原创 2024-11-12 23:14:03 · 311 阅读 · 0 评论 -
Javascript高级—深浅拷贝
如果你所需拷贝的对象含有内置类型并且不包含函数,可以使用 MessageChannel。浅拷贝是拷贝第一层的拷贝。原创 2024-11-11 22:07:54 · 338 阅读 · 0 评论 -
ReactPress:深入解析技术方案设计与源码
ReactPress是一个基于React框架开发的开源发布平台,它不仅仅是一个简单的博客系统,更是一个功能全面的内容管理系统(CMS)。原创 2024-11-07 23:45:31 · 864 阅读 · 0 评论 -
ReactPress:重塑内容管理的未来
ReactPress,正是这样一款基于React技术的开源CMS平台,它以其强大的功能、卓越的性能和灵活的可扩展性,正在逐渐改变内容管理的游戏规则。原创 2024-11-07 23:33:20 · 1001 阅读 · 0 评论 -
ReactPress系列—NestJS 服务端开发流程简介
ReactPress底层基于NestJS实现, 是一个用于构建高效、可靠和可扩展的服务器端应用程序的框架。它使用 TypeScript(但也支持纯 JavaScript)并完全基于 Node.js。NestJS 提供了强大的架构支持,允许开发者使用现代 JavaScript 的特性来编写清晰、可维护的代码。本文将介绍 NestJS 服务端开发的基本流程,并通过简单的代码示例来帮助理解。原创 2024-11-06 00:07:18 · 951 阅读 · 0 评论 -
ReactPress系列—Next.js 的动态路由使用介绍
ReactPress底层基于Next.js实现, 是一个流行的 React 框架,支持服务端渲染、静态站点生成和动态路由等功能,极大地简化了构建现代 Web 应用程序的过程。本文将详细介绍 Next.js 的动态路由功能,并通过简单的代码示例帮助理解。原创 2024-11-06 00:04:02 · 956 阅读 · 0 评论 -
ReactPress 是什么?
ReactPress是使用React开发的开源发布平台,用户可以在支持React和MySQL数据库的服务器上架设属于自己的博客、网站。也可以把 ReactPress 当作一个内容管理系统(CMS)来使用。原创 2024-11-04 22:39:19 · 1465 阅读 · 0 评论 -
call, apply, bind的模拟实现
call, apply, bind的模拟实现原创 2024-11-03 17:12:40 · 141 阅读 · 0 评论 -
【Javascript高级】 Javascript 之继承的多种实现方式和优缺点
Javascript 之继承的多种实现方式和优缺点,每一种实现方式都有自己的优缺点。原创 2024-11-02 20:10:17 · 743 阅读 · 0 评论 -
ReactPress—基于React的免费开源博客&CMS内容管理系统
ReactPress 是使用React开发的开源发布平台,用户可以在支持React和MySQL数据库的服务器上架设属于自己的博客、网站。也可以把 ReactPress 当作一个内容管理系统(CMS)来使用。原创 2024-11-02 20:00:50 · 933 阅读 · 0 评论 -
《前端工程师面试宝典》系列专题总结
前端工程师面试宝典前端面试宝典,收集于全网最新、最全面的面试资料,帮助各位求职面试者斩获理想Offer。本书整理了前端工程师在求职面试过程中的前端知识和面经资料,希望各位网友们在学习交流过程中也可以不断丰富完善本书。本书结构本书一共分为八大部分。第一部分:前端知识体系本章从HTML、CSS、JavaScript、流向框架、Nodejs、性能优化、前端工程化、错误监控、Web安全共九...原创 2019-11-10 17:20:57 · 518 阅读 · 0 评论 -
【Vue高级知识】细谈Vue 中三要素(响应式+模板+render函数)
Vue 中三要素的是什么?响应式: // 如何让实现响应式的呢? let obj = {}; let name = 'zhangsan'; Object.defineProperties(obj, name, {get : function() { console.log('name' , name) }, set : function() {...原创 2019-06-22 10:33:05 · 2125 阅读 · 0 评论 -
【Vue高级知识】梳理Vue源码的整个实现流程
Vue的整个实现流程源码解读???(总结点)解析模板成render函数 <template></template> --->>> render 函数with函数的使用模板中的所有信息都被render函数包含模板中用到的data中的属性,都变成了JS变量模板中的v-model v-for v-on都变成了JS逻辑render函数返回v...原创 2019-06-22 10:45:28 · 408 阅读 · 0 评论 -
【Vue高级知识】如何使用Vue劫持对象或数组的属性
Vue创建一个实例 <div id="app">{{msg}}</div> <script src="node_modules/vue/dist/vue.js"></script> <script> let vm = new Vue({ el:'#app',...原创 2019-06-22 11:09:16 · 1369 阅读 · 1 评论 -
【Javascript高级】使用HTML5中的Web Woker来处理大数据量下主线程(UI线程)阻塞问题
具体的测试代码如下,包括index.html(UI线程), worker.js(子线程)和一个script1.js文件(可以在worker中导入的js文件)。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Worker使用&l...原创 2019-06-18 11:09:54 · 1166 阅读 · 0 评论 -
【Javascript高级】如何获取浏览器请求数据的整个过程花费的所有时间详细信息(性能分析量化)
浏览器请求数据的整个过程花费的所有时间都包括哪些部分?我们可以在Chrome Network Timing中可以查看一个请求在各个阶段所花费的时间:1、Queueing请求文件顺序的的排序什么东西?浏览器有线程限制的,发请求也不能所有的请求同时发送,所以,队列喽。从添加到待处理队列到实际开始处理的时间间隔标示2、Stalled是浏览器得到要发出这个请求的指令到请求可以发出的等待时...原创 2019-06-23 22:52:43 · 5979 阅读 · 1 评论 -
【Javascript高级知识】封装实现一个自己的call, apply, bind函数(原生版+ES6版)
call, apply, bind的模拟实现call的模拟实现 // 使用原生的ES3语法实现的call Function.prototype._call = function() { var context = context || window; context.fn = this; var args = []; ...原创 2019-06-27 17:09:25 · 767 阅读 · 0 评论 -
【Javascript高级知识】深入剖析JS中New一个对象的过程(实现原理)
new一个对象的原理是怎样的呢?用new Object() 的方式新建了一个对象 obj取出第一个参数,就是我们要传入的构造函数。此外因为 shift 会修改原数组,所以 arguments 会被去除第一个参数将 obj 的原型指向构造函数,这样 obj 就可以访问到构造函数原型中的属性使用 apply,改变构造函数 this 的指向到新建的对象,这样 obj...原创 2019-06-27 17:37:07 · 4476 阅读 · 1 评论 -
【Javascript高级知识】JS中的arguments参数的使用及注意要点总结
Arguments参数的使用?如何对类数组直接调用数组的方法呢? var arrLike = { 0: 'name', 1: 'age', 2: 'sex', length: 3 } Array.prototype.join.call(arrLike, '&'); Array.prototyp...原创 2019-06-27 20:46:37 · 263 阅读 · 0 评论 -
【Javascript高级】创建JS对象的7种方式优缺点总结
创建JS对象的多种方式总结一、工厂模式 /** * 工厂模式创建对象 * @param name * @return {Object} */ function createPerson(name){ var o = new Object(); o.name = name; o.getName = ...原创 2019-06-28 14:56:04 · 392 阅读 · 0 评论 -
【Javascript高级知识】深刻理解原型链之继承的多种实现方式和优缺点
Javascript 之继承的多种实现方式和优缺点一、 原型链继承 function Parent() { this.name = 'zhangsan'; this.children = ['A', 'B', 'C']; } Parent.prototype.getName = function() { console.log(this...原创 2019-06-29 20:47:47 · 874 阅读 · 0 评论 -
【Javascript专题一】函数防抖Debounce工具封装及应用场景总结
函数防抖和节流总结环境初始化<!DOCTYPE html><html lang="zh-cmn-Hans"><head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="IE=edge, chrome=1"> <t...转载 2019-06-30 17:18:23 · 671 阅读 · 1 评论 -
【Javascript高级知识】使用ES6实现私有变量的四种实现方式总结
ES6 实现私有变量方式总结需求如下实现一个Person类,设计下面的类name : publicage : privatesex : private1. 使用闭包的方式来实现const Person = (function() { let _sex = ''; let _age = 0; class Person { constructor(name, ...原创 2019-07-21 20:28:56 · 560 阅读 · 0 评论