自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 微前端——single-spa源码学习

本来是想直接去学习下qiankun的源码,但是qiankun是基于single-spa做的二次封装,通过解决了single-spa的一些弊端和不足来帮助大家能更简单、无痛的构建一个生产可用微前端架构系统。所以我们应该先对single-spa有一个全面的认识和了解,了解它的不足和缺陷,到时候让我们带着问题去学习qiankun的底层,会有更大的帮助。single-spa中文文档代码库地址,可以打开代码再对照着阅读,更容易理解。

2022-11-21 14:41:54 1520

原创 梳理promise功能逻辑,手写promise及相关方法

【代码】梳理promise功能逻辑,手写promise及相关方法。

2022-11-12 18:01:43 597

原创 前端面试题记录(大环境不太友好的2022篇)

不出去体会一下就想不到所谓的别人口中的 “大环境不太好” 的具体情况

2022-11-11 13:37:42 1254

原创 js金额格式化,千分符,(好家伙!面试直接被问四次)

九十月份,在我的的面试经历中,金额格式化算事比较高频的了,都是出现在初次视频面试的过程中。

2022-11-10 18:46:12 721

原创 antdpro使用AbortController取消请求

AbortController取消请求

2022-11-09 18:03:57 1101

原创 qiankun使用Actions实现通信

qiankun使用actions实现通信

2022-10-21 15:30:56 879

原创 Antd Pro项目接入qiankun微前端

ntd pro项目中接入qiankun微前端,抽离其中某个模块作为子应用,实现独立部署

2022-10-21 15:04:58 1390

转载 关于let变量提升的思考

原文地址

2021-08-16 10:34:18 101

原创 TS+React+d3.js实现数据可视化力导图

前言基于ts+react+d3实现数据可视化关系力导图由于第一次做相关功能,并且是在ts中使用,也是遇到了许多坑,下面记录一下实现的过程实现过程由于我是做完之后才写的博客,所以整个过程中有些步骤没有截图信息只能文字描述了一、找d3.js的官网资料目的很明确直接找网站的例子,锁定:到这里,像我这种喜欢直来直去的,不得第一时间立马搬到项目里面,殊不知接下来几天的折磨也就由此而来,我先贴一下官网这个例子的原代码(网站可以直接看到的):chart = { const links = data

2021-06-11 17:30:00 2889 3

原创 不会封装函数?深拷贝不会写?来读读vuex源码里面的工具函数并完善吧

草稿

2021-04-23 17:09:41 156

原创 换工作好长时间了,总结下面试的东西

2021总结篇图中的蓝框选中的代表代码输出常碰到的红色的则是代码手撕的说实话可能知识点大家都知道怎么回事,但是碰到代码输出和手撕代码时,可能一个考虑不周就满盘皆输,还是长点心吧。(我可能只是在说我自己)注意:异步编程、事件循环、promise、async/await、generator/yield这些东西很容易结合在一起揉搓你,包括但不限于代码手撕,分析输出,(比如代码实现Promise,

2021-04-20 19:52:39 134

原创 自检——Es5继承

js继承是一种允许我们在已有类的基础上创建新类的机制,为子类提供了更高的灵活性,可以重用父类的方法和属性。1、原型链继承// 提供父类(继承谁,提供继承的属性)function Person(name) { this.name = name || 'sun' this.work = function(){ console.log(`${name}正在加班`) } this.works = ['文档', '代码']}Person.prototype.end = functio

2021-02-03 22:20:26 148

原创 自检——js执行机制

理解JavaScript继承之前

2021-01-29 17:59:10 278

原创 instanceof的底层实现原理,手动实现一个instanceof

instanceofinstanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上obj instabceof Object描述: 检测Object.prototype是否在obj的原型链上 // 基础用法 // 我们先通过构造函数来创建一个对象 function Person() { this.name = 'XXXX' } let p = new Person() console.log(p.name)

2020-05-26 17:37:13 1284

转载 js的this原理

原文链接:http://www.ruanyifeng.com/blog/2018/06/javascript-this.html

2020-05-13 10:18:02 171

原创 ES8新特性

1、异步函数 (async function)A)async关键字位置• 异步函数声明: async function foo() {}• 异步函数表达式: const foo = async• 异步函数定义: let obj= { async foo() {} }• 异步箭头函数:const foo = async () => {}B)异步函数总是返回Promise对象async function test(){ return '返回prominse对象';}test().

2020-05-11 10:40:24 268

原创 对js数组方法使用代码类似实现——持续补充

记录数组方法的同时,自己也想研究下用代码来类似实现数组的各种方法数组方案使用请点击这里源码地址:https://github.com/v8/v8/blob/4.9-lkgr/src/js/array.js...

2020-04-22 17:20:21 167

原创 javaScript数组方法记录——持续补充

数组方法记录...

2020-03-31 11:21:58 793

原创 window10安装docker

window10安装docker首先确认自己的系统是不是专业版,如果不是,必须升级到专业版第一步控制面板->程序->启用或关闭windows功能,勾选Hyper-V,然后点击确定即可...

2020-03-26 11:34:45 146

原创 前端知识自检——js原型规则及设计模式

在js中万物皆对象原型及原型链基本概念Javascript 规定,每一个函数都有一个 prototype 属性,指向另一个对象。 这个对象的所有属性和方法,都会被构造函数的实例继承。这也就意味着,我们可以把所有对象实例需要共享的属性和方法直接定义在 prototype 对象上。// 构造函数function Person (name, age) { this.name = nam...

2020-03-23 10:03:33 298

原创 angular学习(一)——简介、搭建项目、第一个组件

1.angular.js简介AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVC(Model–view–controller)、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。2.angular四大特征2.1MVC模式An...

2020-03-17 18:53:10 349

原创 nvm——node版本管理

每个项目需要的node版本和npm版本的要求不一样,这个时候可以通过nvm来切换node版本,以便于适用于各种项目需求nvm下载地址直接下载解压并安装nvm基本使用查看本地安装的所有版本 nvm list安装node 指定版本版本 指令 :nvm install XXX,比如:nvm install 12.0.0使用特定版本指令 : nvm ......

2020-03-17 18:48:20 475

原创 TypeScript 学习

TypeScript1、TypeScript是什么TypeScript = type + script(标准js),从官网上的定义:TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. TypeScript是一个编译到纯JS的有类型定义的超集。TypeScript具有类型系统,且是Ja...

2019-12-10 11:16:03 304

原创 前端知识自检——Javascript基础之变量和类型

JavaScript基础winter在他的《重学前端》课程中提到:到现在为止,前端工程师已经成为研发体系中的重要岗位之一。可是,与此相对的是,我发现极少或者几乎没有大学的计算机专业愿意开设前端课程,更没有系统性的教学方案出现。大部分前端工程师的知识,其实都是来自于实践和工作中零散的学习。建立自己的知识体系,帮助更系统的学习,同时能知道自己有哪些不足一、变量和类型1.变量和类型J...

2019-12-06 15:36:42 595

原创 js数据类型、内置对象以及装箱拆箱操作

数据类型基本类型:Number,String,Boolean,Null,Undefined,Symbol、访问:基本数据类型的值是按值访问的。存储:基本类型的变量是存放在栈内存(Stack)里的。引用类型: Object访问:引用类型的值是按引用访问的。存储:引用类型的值是保存在堆内存(Heap)中的对象(Object)typeof: 经常用来检测一个变量是不是最基本的数据类型...

2019-11-19 17:33:03 1579

原创 JavaScript中的变量在内存中的具体存储形式

一、三种数据结构javascript中的变量类型分为:基本类型和引用类型基本类型是保存在栈内存中的简单数据段,它们的值都有固定的大小,保存在栈空间,通过按值访问引用类型是保存在堆内存中的对象,值大小不固定,栈内存中存放的该对象的访问地址指向堆内存中的对象,JavaScript不允许直接访问堆内存中的位置,因此操作对象时,实际操作对象的引用1.栈内存在javacsript中没有严格意义...

2019-11-07 16:22:10 1726

原创 前端知识自检——作用域和闭包

在《你不知道的JavaScript》中甚至这样写道“对于那些有一点 JavaScript 使用经验但从未真正理解闭包概念的人来说,理解闭包可以看作是某种意义上的重生”。理解闭包之前先巩固一下作用域和词法作用域的知识作用域作用域是一套规则,用于确定再何处以及和如何查找变量的规则 //函数作用域 function foo() { var a = 'iceman'; c...

2019-11-05 17:58:34 215

原创 javascript 中 call() 、apply()和 bind()详解

前端日常开发的时候,这几个方法出现的频率还是很高的,之前一直没有去仔细的学习一下这几个这方法,今天总结一下参考文章 https://blog.csdn.net/learninginJAVA/article/details/489147511. call、apply在javascript中 call 和 apply 方法都是为了改变某个函数运行时的上下文,也就是说,为了改变函数内部的thi...

2019-10-29 10:34:35 423

原创 ES8新特性——SharedArrayBuffer对象、Atomics对象

SharedArrayBuffer对象SharedArrayBuffer 对象用来表示一个通用的,固定长度的原始二进制数据缓冲区,类似于 ArrayBuffer 对象,它们都可以用来在共享内存(shared memory)上创建视图。与 ArrayBuffer 不同的是,SharedArrayBuffer 不能被分离。语法new SharedArrayBuffer(length)参数...

2019-10-24 21:07:43 3044

原创 vue中Webpack-der-server配置proxy实现跨域请求

示例webpack配置文件module.exports = { //... devServer: { // ... 其他配置 proxy: { '/api': { target: 'http://30.50.20.6:8080/', // 接口域名 changeOrigin: true, // 域名时需要 ws...

2019-10-23 15:21:46 1005

原创 前端通过url实现文件下载

get请求方式和后端确定接口,在请求拦截里设置请求头前端创建超链接,通过a标签的链接向后端服务发get请求,接收后端的文件流, // 界面代码 <a @click="downFile()">{{文件名}}</a> // 文件下载 downFile () { let a = document.createElement('a...

2019-10-23 14:40:59 12327 1

转载 js类型化数组(二进制数组)(缓冲和视图)

A) 缓冲(ArrayBuffer)和视图JavaScript类型化数组将实现拆分为缓冲和视图两部分。一个缓冲(ArrayBuffer)描述的是内存中的一段二进制数据,缓冲没有格式可言,并且不提供机制访问其内容。为了访问在缓存对象中包含的内存,你需要使用视图。视图可以将二进制数据转换为实际有类型的数组。一个缓冲可以提供给多个视图进行读取,不同类型的视图读取的内存长度不同,读取出来的数据格式也不...

2019-10-20 16:15:22 448

原创 关于Object.create()和它的参数

Object.create()根据现有对象创建新对象可以实现继承使用Object.getPrototypeOf()来获取指定对象的原型对象let obj = { name: 'sun', age: 24,}// 可以看到name属性其实不是newObj自身原有的,而是继承而来let newObj = Object.create(obj) // {}conso...

2019-10-20 13:25:41 967

原创 ES7新特性

ES72016添加了两个新特性数组的includes()方法,用来判断数组是否包含一个指定的值,根虎情况返回true和false指数运算符1. Array.prototype.includes()判断数组是否包含某个元素: // ES7之前,使用indexOf() // 使用数组的indexOf()方法判断是否包含某个元素,根据返回的值是否为-1来判断 // inde...

2019-10-16 17:00:45 249

原创 实际开发之数据操作——indexOf()、find()方法

find()、 indexOf()find():数组方法,返回通过测试的数组的第一个元素的值当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。如果没有符合条件的元素返回 undefinedindexOf(): JavaScript String 对象的indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。示...

2019-06-25 18:48:06 983

原创 javaScript随笔之filter、includes

javaScript随笔之filter、includes先简单介绍下两个方法filter () 过滤filter()方法 创建一个新数组 新数组中的元素是通过某些条件将原来的数组中的某些元素复制到新数组中。filter()方法接收一个 函数 作为参数,而这个函数的参数就是原数组的每一个元素.然后根据返回值是true还是false决定保留还是丢弃该元素。includes ()includ...

2019-04-23 15:12:23 1567

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除