
javascript
文章平均质量分 55
高热度网
主要技能:前端、小程序、网站开发,NodeJS全栈技术开发,欢迎交流
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用ReactPress搭建的博客网站,欢迎大家吐槽提建议
ReactPress一个基于 Next.js 的博客和 CMS 系统,可查看。目前基于ReactPress源码搭建了一个网站:http://blog.gaoredu.com/欢迎大家提出宝贵的建议。原创 2024-11-30 17:40:11 · 606 阅读 · 0 评论 -
实现乱序函数?(面试常考)
v8 为例,v8 在处理 sort 方法时,当目标数组长度小于 10 时,使用插入排序;反之,使用快速排序和插入排序的混合排序。原创 2024-11-26 23:54:10 · 300 阅读 · 0 评论 -
ReactPress部署指南:为技术小白量身定制
ReactPress部署指南:为技术小白量身定制ReactPress是一个开源的发布平台,它基于React构建,用户可以在支持React和MySQL数据库的服务器上设置自己的博客和网站。ReactPress功能强大,包括博客管理、文章阅读、移动适配、组件化、国际化、主题切换、创作管理、页面管理、评论管理、媒体管理等。本文将详细介绍如何为技术小白部署ReactPress。原创 2024-11-26 23:01:09 · 1137 阅读 · 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 评论 -
Mono Repository方案与ReactPress的PNPM实践
ReactPress作为一个基于React的开源发布平台,通过采用Monorepo和PNPM的实践,实现了高效的代码管理和依赖管理。PNPM的高效存储、快速安装和严格依赖管理功能,为ReactPress项目的开发提供了有力的支持。未来,随着ReactPress项目的不断发展壮大,相信PNPM将会在其中发挥更加重要的作用。通过本文的介绍和代码示例,读者可以了解到Monorepo方案和PNPM在ReactPress项目中的应用和实践。希望这些内容能够为读者在大型项目和跨团队协作中提供有益的参考和借鉴。原创 2024-11-22 23:38:48 · 954 阅读 · 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 评论 -
ReactPress:基于pnpm的Mono Repository方案介绍
ReactPress是一个使用React和Node.js构建的开源发布平台,它允许用户在支持React和MySQL数据库的服务器上设置自己的博客和网站。ReactPress采用Mono Repository方案来管理项目的依赖和代码结构,其中pnpm作为包管理器发挥了关键作用。Mono Repository(单一仓库)是一种软件开发实践,它将多个项目或模块放在同一个仓库中进行管理。这种方式有助于简化依赖管理、促进代码复用和增强项目的可维护性。原创 2024-11-20 23:42:32 · 1517 阅读 · 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:10:29 · 307 阅读 · 0 评论 -
Javascript高级—闭包问题
循环中赋值为引用的问题解决方法有3种第一种,使用立即执行函数方式第二种,使用ES6的第三种,使用setTimeout的第三个参数。原创 2024-11-13 22:03:44 · 228 阅读 · 0 评论 -
Javascript高级—DOM树的深度遍历和广度遍历
Javascript高级—DOM树的深度遍历和广度遍历。原创 2024-11-12 23:14:03 · 311 阅读 · 0 评论 -
Javascript高级—深浅拷贝
如果你所需拷贝的对象含有内置类型并且不包含函数,可以使用 MessageChannel。浅拷贝是拷贝第一层的拷贝。原创 2024-11-11 22:07:54 · 338 阅读 · 0 评论 -
call, apply, bind的模拟实现
call, apply, bind的模拟实现原创 2024-11-03 17:12:40 · 141 阅读 · 0 评论 -
《前端工程师面试宝典》系列专题总结
前端工程师面试宝典前端面试宝典,收集于全网最新、最全面的面试资料,帮助各位求职面试者斩获理想Offer。本书整理了前端工程师在求职面试过程中的前端知识和面经资料,希望各位网友们在学习交流过程中也可以不断丰富完善本书。本书结构本书一共分为八大部分。第一部分:前端知识体系本章从HTML、CSS、JavaScript、流向框架、Nodejs、性能优化、前端工程化、错误监控、Web安全共九...原创 2019-11-10 17:20:57 · 518 阅读 · 0 评论 -
【JavaScript知识总结一】JS中的变量类型、变量计算和内置函数的使用及注意点总结
1.JS中的变量类型 var a = 100; // 值类型不会因为赋值而相互干预 var b = a; a = 200; console.log(b); // 100// 注意点:不仅仅是js对象{} 可以由自己的属性,JS中的数组和函数也都是可以有自己的属性的 var a = {age: 20}; var b...原创 2019-01-03 12:55:36 · 263 阅读 · 0 评论 -
【Vue高级知识】如何使用Vue CLI-3.0脚手架工具分别配置项目的开发环境和部署环境下的环境变量
1. cli-3.0总共提供了四种方式来制定环境变量:在根目录添加.env文件,配置所有情况下都会用到的配置(不知道这个存在的意义,所有的都需要的也就不需要配置了吧)。 在根目录添加.env.local文件,配置所有情况下都会用到的配置,与.env的区别是只会在本地,该文件不会被git跟踪。 在根目录添加.env.[mode]文件,配置对应某个模式下的配置,比如:.env.develo...原创 2019-05-21 12:45:54 · 1243 阅读 · 1 评论 -
【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高级】如何获取浏览器请求数据的整个过程花费的所有时间详细信息(性能分析量化)
浏览器请求数据的整个过程花费的所有时间都包括哪些部分?我们可以在Chrome Network Timing中可以查看一个请求在各个阶段所花费的时间:1、Queueing请求文件顺序的的排序什么东西?浏览器有线程限制的,发请求也不能所有的请求同时发送,所以,队列喽。从添加到待处理队列到实际开始处理的时间间隔标示2、Stalled是浏览器得到要发出这个请求的指令到请求可以发出的等待时...原创 2019-06-23 22:52:43 · 5979 阅读 · 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 评论 -
【JavaScript知识总结二】全方位从5个方面深入理解JS中的原型和原型链
1. 所有的引用类型(数组,对象,函数),都是具有对象特性的,即可以自由扩展属性(除了null以外) // 1.引用类型可以扩展属性 var obj = {}; obj.a = 100; // 对象属性的扩展 var arr = []; arr.a = 100; // 数组属性的扩展 function fn() {...原创 2019-01-03 21:54:29 · 196 阅读 · 0 评论