- 博客(36)
- 收藏
- 关注
原创 自定义Promise
自定义PromisePromise现有的一些APIPromise.prototype.thenPromise.prototype.catchPromise.prototype.finallyPromise.allPromise.racePromise.anyPromise.allSettledPromise.resolvePromise.reject自定义Promise前所要了解下面几个问题promise的状态如何改变的:promise中通过resolve()修改状态为
2022-03-14 12:44:26
945
原创 ES6的学习(三)
PromisePromise 是异步编程的一种解决方案,Promise对象是一个构造函数,用来生成Promise实例。const promise = new Promise(function(resolve, reject) { // ... some code if (/* 异步操作成功 */){ resolve(value); } else { reject(error); }});Promise构造函数接受一个函数作为参数,该函数两个参数分别是reso
2022-03-09 17:17:45
492
原创 ES6的学习(二)
Symbol 数据类型ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它属于 JavaScript 语言的数据类型之一,其他数据类型是:undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、大整数(BigInt)、对象(Object)。使用:通过Symbol()函数生成Symbol.prototype.description 创建 Symbol 的时候,可以添加一个描述。const sym = Symbol('foo');sym.d
2022-03-09 14:45:40
369
1
原创 ES6的学习(一)
ES6的学习字符串的扩展ES6 加强了对 Unicode 的支持,允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的 Unicode 码点。字符串的遍历器接口,ES6 为字符串添加了遍历器接口(详见《Iterator》一章),使得字符串可以被for…of循环遍历。模板字符串字符串的新增方法fromCodePoint 用于从 Unicode 码点返回对应字符,与fromCharCode的区别就是能不能识别码点大于0xFFFF的字符String.fromCodePoint方法有多个
2022-03-07 16:27:04
194
原创 snabbdom的学习
snabbdom的学习在snabbdom不研究模板编译的部分,在此只研究snabbdom中的h函数渲染成虚拟dom对象以及patch函数以及节点的创建。h函数的实现通过h函数创建出虚拟dom对象import vnode from "./vnode"// 编写一个低配版本的H函数,这个函数必须接收三个参数,缺一不可// 也就是说,调用的时候形态必须是下面的三种之一// 实际中snabbdom的h函数中五个参数h(sel,data,children,key,elm),它会在使用时先判断参数个数
2021-11-16 09:31:40
222
原创 简易版mustache的实现
简易版mustache的实现最近在学习mustache的实现,以下简单模拟了一版mustache实现效果如下:// 通过render方法,实现数据以及模板的整合(也是一个字符串)// templateStr(模板字符串),data(数据)var templateStr = '这是一个{{infor}}数据,{{infor}}数据在这,{{a.b.c}}'var data = { infor:'模拟', a:{ b:{
2021-10-21 11:03:13
179
原创 关于主动销毁keep-alive的问题
主动销毁keep-alive包裹的某个组件的问题在使用keep-alive的过程中,有时我们需要当前页面缓存,但是再某种情况下又不需要当前页面缓存,那我们可以通过手动删除cache数组中的当前页面的key值实现消除某个页面缓存的功能。beforeRouteLeave: function (to, from, next) {//在路由离开时进行判断 if (this.$vnode && this.$vnode.data.keepAlive) { if (
2021-10-14 10:13:46
2111
1
原创 使用vue-cli2创建项目的总结
使用vue-cli2创建项目的总结目前来说vue-cli的版本已经到4版本了,如果想要使用vue-cli2创建项目的话,需要使用旧版本的 vue init 功能,你可以全局安装一个桥接工具:npm install -g @vue/cli-init使用vue init webpack my_project创建项目选择的配置调整目录结构,并引入vuex 下面是vuex模块的目录机构,清楚一些默认样式,以及使用scss使用scss的时候,注意node版本以及一些依赖包的版本。不然
2021-07-13 16:14:54
232
原创 react微网页遇到的问题
使用react使用微网页时遇到的问题list的下拉加载问题(基于antd,而不是antd-mobile)轮播图中图片的预览问题(ui组件是antd)在一个详情页面中有一个轮播图,希望点击轮播图的某一个图片进行图片预览,在预览的同时也可以进行图片上一个,下一个在网上找了一个插件react-zmage官网地址是点击这里首先安装 cnpm install react-zmage -S引入import Zmage from 'react-zmage'然后我们只需要把img标签替换成Zmage标签就好
2020-09-14 14:56:59
312
原创 MVVM源码解析
简易vue.js框架(MVVM)源码解析学习准备[].slice.call()node.nodeType 节点类型Objcet.definepropertyObject.hasOwnPropertyDocumentFragment DocumentFragment 不是真实 DOM 树的一部分,它的变化不会触发 DOM 树的重新渲染,且不会导致性能等问题。const ul = doucment.getElementById('xxx')// 创建一个fragmentconst fragm
2020-06-16 09:41:00
444
原创 js的再学习(四)
DOM及其基础操作dom:docoument object model 文档对象模型,提供一些属性和方法供我们操作页面上的元素document和document.documentElementdocument对象是整个html文档,可以通过document.head,document.body等访问具体dom节点。document.documentElement是整个dom节点数的根节点,就是html标签document包括document.documentElement获取dom元素的
2020-01-10 17:48:02
172
原创 js的再学习(二)
js的再学习js中的操作语句:判断,循环判断条件成立做什么?不成立做什么if/else// if里面的条件可以有多样性,但是我们不论怎么写,最终都会自动调用 Boolean()转换函数将这个表达式的结果转换为一个布尔值if (条件) {// 做的事件} else if (条件) {// 做的事件} else {// 上面条件都不成立做的事件}三元表达式// 简单的if/else形式// 语法: 条件?成立时的处理:不成立时的处理let a = 10;a>0?xx
2019-12-25 19:51:40
122
原创 js的再学习(一)
js的学习js作为客户端语言按照相关的js语法,去操作页面中的元素,有时还要操作浏览器里面的一些功能ECMAScript :js的语法规范(变量,数据类型,操作语句)DOM(doucment object model)文档对象模型,提供一些js的属性和方法,用来操作页面中的dom元素BOM(brower object model)浏览器对象模型,提供一些js的属性和方法,用来操作浏览器的js中变量 variablevariable:变量,在编程语言中,变量就是一个名字用来存储和代表不
2019-12-25 16:15:41
157
原创 在react中使用字体图标
npm install --save react-fontawesomenpm install font-awesomeimport ‘font-awesome/less/font-awesome.less’;import ‘react-fontawesome’;然后使用
2019-11-13 17:16:20
833
原创 mongodb的学习
学习MongoDBMongoDB的安装首先在网上下载MongoDB,然后傻瓜式安装,不过在最后一步的时候,我们把默认勾选的一个选项给去掉,就是最后一步的Initial MongoDB Compass这个勾选项给去掉然后我们需要在配置一下环境变量,就是把C:\Program Files\MongoDB\Server\4.2\bin这个路径放在环境变量中的path中,这个路径是根据自己所安装的...
2019-11-05 16:11:32
97
原创 关于vue上拉加载下拉刷新的问题
关于vue上拉加载下拉刷新的问题我们在使用vant组件使用list列表和PullRefresh下拉刷新的时候,可以组合起来使用上拉加载,下拉刷新这个一个特性我们在组件中的代码应该这样写,首先PullRefresh的标签在最外面,然后list列表的标签在里面<van-pull-refresh v-model="isLoading" @refresh="onRefresh"> ...
2019-10-24 09:44:45
1639
原创 关于vue路由组件出入动画的笔记
vue路由组件出入动画的笔记、在实际项目中路由的跳转,如果不配有动画的话,那么就显得太过突兀。因此我想做一个vue路由组件跳转的不同动画,分为是前进跳转还是后退跳转。前进跳转的话,是从右边进入,后退的话是从左右进入。这样实现的基本步骤是:在vue的原型上设置不同的跳转方式,并且在不同的跳转方式中,在vue的原型上给定不同的动画名 Vue.prototype.$push = (ur...
2019-10-17 09:49:39
229
原创 在使用react-redux中碰到的问题
redux的reducers中碰到的修改数组的问题在reducers中我有一个函数,它是拿到数据,然后把数据添加到数组中,我之前的想法就是说通过newsList.unshift(action.data) return newsList这句代码实现数据的添加,但是现在是存在错误的因为在redux中的reducers是一个纯函数,它不会改变原有的数据,它只是返回一个新的数据,对于上面的数据,我...
2019-10-14 14:53:35
857
原创 redux和react-redux的学习
reduxredux是什么redux是一个独立专门用于做状态管理的js库(不是react插件库)它可以用在react angular vue等项目中,但是基本与react配合使用(它与react契合度比较高)作用:集中式管理react应用中多个组件共享的状态什么时候使用redux某个组件的状态,需要共享某个状态需要在任何地方都可以拿到一个组件需要改变全局状态一个组件需要改变...
2019-10-10 18:59:49
126
原创 箭头函数
es6箭头函数的学习在es6中允许使用箭头函数(=>)来定义函数,例如 var f = v=>v一般情况下我们定义函数都是这样的样式var a = function(x){ 这里面是函数体 },我们可以利用箭头函数来实现函数的简化 var a = ()=>{}在箭头函数中,我们可以去掉function声明,如果函数中有参数的话,我们可以使用()来包裹参数,如果函数只有一个...
2019-10-09 11:41:22
100
原创 学习git(二)多分支协同合作
这篇文章是接着上篇文章学习git(多分支协同开发部分)在上篇文章中我们简单学习了一些文件操作命令git init 把当前目录变成git可以管理的仓库git add file 把指定文件添加到暂存区git commit -m '这是提交说明' 把暂存区的文件提交到当前分支,这里需要注意,他只会把暂存区的文件提交到当前分支,如果你保存过但没add的文件不会提交git status 查看当前...
2019-09-25 10:21:57
184
原创 学习git(一)仓库中的文件进行操作
对于git的摸索首先是git的安装安装后需要设置一下本机登录的用户名还有用户邮箱$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"然后我们可以在本地创建一个仓库然后学习我们需要的一些基本命令创建一个文件夹然后在命令行进入这个文件目录(可以使...
2019-09-24 18:06:56
332
8
原创 第一次使用Git的体验
第一次使用Git的体验这是我对实习期间的一些记录,仅供自己学习回顾首先到公司后会拿到自己的oa账号,然后找到公司人员用你的oa账号开通git账号,然后找到小组组长拉你进项目组,这样我们就能拉取远程仓库的代码到本地了拉取代码的过程找到仓库,并复制地址新建一个文件点击git的git bash here执行语句:$git clone xxxxxxxxxxxxxxxxxxx在我...
2019-09-17 11:05:06
170
原创 虚拟dom
什么是虚拟DOM虚拟dom是框架中 的概念,是框架中的概念,是程序员用js对象来模拟页面上的DOM和DOM 的嵌套为什么要使用虚拟dom的这一个概念因为我们实现页面的性能,实现按需渲染页面的这一个功能(只需要重新渲染更新的数据所对应的页面元素)为了实现按需更新我们需要获取新旧dom树,然后通过算法对比然后更新,但是在浏览器中并没有提供获取dom树的api,所以我们手动模拟dom,这就是...
2019-09-12 14:12:43
122
原创 初次学习react
初次学习react我们有两种方法来写一个简单的react代码我们可以不需要配置任何环境以及安装任何包,我们通过在html代码中添加react包,react-dom以及babel包的网址来实现一个简单的代码<!DOCTYPE html><html> <head> <meta charset="UTF-8" /> <...
2019-09-12 11:26:32
161
原创 vue生命周期问题
VUE中的生命周期问题什么是生命周期:从Vue实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期!每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数生命周期钩子 = 生命周期函数 = 生命周期事件主要的生命周期函数...
2018-11-28 18:15:41
434
原创 vue中组件以及组件间传值和路由问题
组件什么是组件:组件的出现就是为了拆分vue实例的代码量的,能够让我们以不同的组件划分不同的功能模块组件化和模块化的区别模块化是从代码的逻辑角度进行划分的:方便代码的分层开发,保证每个功能模块的功能单一组件化是从ui界面的角度进行划分的;方便ui组件的重用在vue中怎么创建组件创建组件的第一种方法 var com1 = Vue.extend({ te...
2018-11-28 18:12:53
3307
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人