会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
caix-1987 - 个人博客
不要被对象、属性、方法、框架等词汇所迷惑,学前端最根本的是要掌握最基础的知识 -- 万丈高楼平地起, 一砖一瓦皆根基 ...
首页
新随笔
管理
[置顶]
基于 vue3 + vite + typeScript + Element-Plus + pinia + mock ... 从 0 到 1 搭建后台管理系统完整教程
摘要: 项目说明 代码仓库地址 https://github.com/caix-1987/vue3-vite-typescript-elementplus-pinia 项目预览地址 https://caix-1987.github.io/vue3-vite-typescript-elementplus-pi
阅读全文
posted @ 2023-03-28 16:06 caix-1987
阅读(833)
评论(0)
推荐(0)
2023年4月12日
第十四篇 手写原理代码 - typeScript 【 实现 required、returnTypes、Partial、readOnly 】
摘要: 在 TypeScript 中实现 required、returnTypes、Partial、readOnly 等功能可以帮助开发者更加方便地处理数据类型,减少在代码中出现的错误,提高代码的可维护性和健壮性 1、实现 required 使可选属性变为必填属性 type MyRequired<T> =
阅读全文
posted @ 2023-04-12 15:57 caix-1987
阅读(114)
评论(0)
推荐(0)
第十三篇 手写原理代码 - 实现 Promise
摘要: 当使用 JavaScript 进行异步编程时,我们往往需要面对回调地狱(callback hell)、代码可读性低、错误处理困难等问题。为了解决这些问题,ECMAScript 6(ES6)中引入了 Promise。 Promise 是一种用于处理异步操作的对象,它是一个容器,保存着未来才会结束的事件
阅读全文
posted @ 2023-04-12 12:04 caix-1987
阅读(26)
评论(0)
推荐(0)
第十二篇 手写原理代码 - 实现一个前端并发控制请求函数
摘要: 实现并发控制请求函数 /** * 并发控制请求函数 * @param {Array} urls 请求的 URL 数组 * @param {Number} max 最大并发数 * @param {Function} callback 请求成功回调函数 */ async function concurr
阅读全文
posted @ 2023-04-12 12:03 caix-1987
阅读(87)
评论(0)
推荐(0)
第十一篇 手写原理代码 - 实现事件订阅中类
摘要: javaScript 中的订阅发布模式(也称为观察者模式)是一种设计模式,用于在对象之间的事件通信中。 该模式由两部分构成:发布者和订阅者。发布者持有所有订阅者的引用,在某个事件发生时通知所有的订阅者,从而触发它们的相应行为。 这种模式可以用于解耦发布者和订阅者之间的依赖关系,从而实现更加灵活的设计
阅读全文
posted @ 2023-04-12 11:45 caix-1987
阅读(17)
评论(0)
推荐(0)
第十篇 手写原理代码 - 简单实现数据双向绑定 - 【 v-model 】
摘要: 数据的双向绑定是一种设计模式,可以将一个数据模型(Model)和视图组件(View)之间的数据同步自动化。在该设计模式中,当视图层的某个数据发生变化时,它会自动更新数据模型,而当数据模型的某个数据发生变化时,它也会自动更新视图层,从而保持数据和视图之间的同步。 在实现数据的双向绑定时,我们通常使用的
阅读全文
posted @ 2023-04-12 11:45 caix-1987
阅读(229)
评论(0)
推荐(0)
2023年4月11日
第九篇 手写原理代码 - 数组 【 实现 forEach、map、filter、every、some 】
摘要: 1、forEach Array.prototype.my_forEach = function (callback) { for (let i = 0; i < this.length; i++) { callback(this[i], i, this); } }; 2、map Array.prot
阅读全文
posted @ 2023-04-11 23:12 caix-1987
阅读(31)
评论(0)
推荐(0)
第八篇 手写原理代码 - 对象 【 实现 Object.assign() 和 Object.create() 】
摘要: 1、Object.assign(target, ...sources) Object.assign() 方法用于将一个或多个源对象的属性复制到目标对象中。它只复制源对象自身可枚举的属性,同时也能够拷贝 getter 和 setter 函数 2、Object.create(proto[, proper
阅读全文
posted @ 2023-04-11 23:11 caix-1987
阅读(64)
评论(0)
推荐(0)
第七篇 手写原理代码 - 对象 【 实现对象的深度拷贝、实现对象的深度对比 】
摘要: 在 JavaScript 中,对象拷贝可以分为浅拷贝和深拷贝两种方式 1、浅拷贝 浅拷贝只是复制了对象的引用地址,新对象的属性与原对象的属性指向同一块内存地址 2、深拷贝 深拷贝会完整地复制对象以及其内部所有嵌套对象 使用 JSON.parse(JSON.stringify()) 方法进行深拷贝时,
阅读全文
posted @ 2023-04-11 23:11 caix-1987
阅读(24)
评论(0)
推荐(0)
第六篇 手写原理代码 - 对象 【 实现 AJAX 请求 】
摘要: AJAX 是 Asynchronous JavaScript and XML 的缩写,指的是通过 JavaScript 和 XML 技术在不重新加载整个页面的情况下,实现与服务器之间异步通信的技术。使用 AJAX 技术能够使网页更加动态和用户友好。 JavaScript 的 AJAX 技术借助于浏览
阅读全文
posted @ 2023-04-11 23:10 caix-1987
阅读(21)
评论(0)
推荐(0)
第五篇 手写原理代码 - 对象 【 实现 new 过程、实现 instanceof 】
摘要: 在 JavaScript 中,new 关键字用于创建一个对象实例,它通常与构造函数一起使用。当使用 new 关键字时,会发生以下几件事情: 1、创建一个新对象,并将该对象的属性设置为构造函数的原型(即 __proto__) 2、将构造函数的作用域绑定到新对象上,并执行构造函数中的代码 3、如果构造函
阅读全文
posted @ 2023-04-11 23:09 caix-1987
阅读(51)
评论(0)
推荐(0)
下一页