- 博客(22)
- 收藏
- 关注
原创 Promise 自定义封装
function Promise(executor) { // 定义promise中的属性 this.PromiseState = 'pending' this.PromiseResult = null //存放then方法中的回调 this.callbacks = [] //定义this指向 const self = this // 定义成功方法 function resolve(data) { //判断此时的状态.
2021-09-16 15:06:30
176
原创 Promise的基本概念
1.什么是PromiseJS中解决异步操作的新方法(旧方法是使用回调函数)1.从语法上来说,它是一个构造函数2.从功能上来说,它用来封装一个异步操作并能获取其成功或失败的返回值2.为什么要用Promise1.指定回调的方法更加灵活: 旧方法:必须在异步操作前指定 Promise:异步操作->返回promise对象->给promise对象绑定回调函数2.支持链式调用,可以解决回调地狱问题 回调地狱:回调函数嵌套调用,外面回调异步执行的结果是内部...
2021-09-15 20:14:56
136
原创 vue路由守卫
1.路由守卫1.作用:对路由进行权限控制2.分类:全局守卫、独享守卫、组件内守卫3.全局守卫: 1.全局前置守卫:初始化时执行、每次路由切换前执行router.beforeEach((to,from,next)=>{console.log('beforeEach',to,from)if(to.meta.isAuth){//判断当前路由是否需要进行权限控制if(localStorage.getItem('s...
2021-09-09 11:53:59
237
原创 Vue route:路由
1.理解:一个路由(route)就是一组映射关系(key-value),多个路由需要路由器(router)进行管理。2.前端路由:key是路径,value是组件。###1.基本使用1.安装vue-router,命令:npmivue-router2.应用插件:Vue.use(VueRouter)3.编写router配置项://引入VueRouterimportVueRouterfrom'vue-router'//引入Luyou...
2021-09-06 20:19:39
324
原创 Vuex的基本使用
1.概念在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。2.搭建vuex环境1.创建'src/store/index.js' //引入Vue核心库 import Vue from 'vue' //引入Vue x import Vuex from 'vuex' //应用Vue x插件 Vue.use(Vuex) //准...
2021-09-02 19:17:49
85
原创 Vue脚手架
##ref属性1.被用来给元素或子组件注册引用信息(id的替代者)2.应用在html标签上获取的是真实DOM元素,应用在组件标签上是组件实例对象(vc)3.使用方式:打标识:<h1ref="xxx">.....</h1>或<Schoolref="xxx"></School>获取:this.$refs.xxx##配置项props功能:让组件接收外部传过来的数据(1...
2021-08-30 22:38:10
163
1
原创 Vue:生命周期
生命周期:1.又名:生命周期回调函数、生命周期雨数、生命周期钩子。2.是什么:Vue在关键时刻帮我们调用的一些特殊名称的函数。3.生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的。4.生命周期函数中的this指向是vm或组件实例对像。1.生命周期图示2.常用的生命周期钩子:1.mounted:发送ajax请求、启...
2021-08-25 19:55:05
143
原创 Vue:渲染,key的作用,指令
一、渲染 条件渲染: 1.v-if :适用于切换频率较低的不展示的dom元素会直接删除 2.v-show:适用于切换频率较高的 不展示的dom元素会被隐藏 3.注意:(1)使用v-if时,元素可能无法获取到,而使用v-show一定可以 (2)template...
2021-08-24 23:10:49
425
原创 Vue基础:数据双向绑定,计算,监视
一、模板语法1.插值语法:双大括号表达式:{{ }}功能:用于解析文本内容 语法:{{xxx}},xxx会作为 js表达式 来进行解析2.指令语法:以v-开头 功能:解析标签属性、解析标签体内容、绑定事件 语法:v-xxx=“yyy”,xxx为vue中的指令,yyy作为js表达式解析 二、数据绑定1.MVVM模型M:模型(Model) :对应 data 中的数据 V:视图(View) :模板 VM:视图模型(ViewModel) : Vue...
2021-08-23 18:07:58
325
原创 回调函数与闭包
什么是回调函数1.你定义的2.你没有调用3.最终执行了常见的回调函数:dom事件回调函数,定时器回调函数,ajax请求回调函数,生命周期回调函数dom事件回调函数: document.getElementById('btn').onclick=function(){ alert(this.innerHTML) }定时器回调函数: setTime...
2021-08-19 23:28:12
421
原创 JS基础:bind函数,事件,JSON
appendChild(子节点):添加子节点使用innerHTML+="html代码"也可以添加子节点insertBefore():插入语法:父节点.insertBefore(新节点,旧节点)replaceChild(新节点,旧节点):使新节点替换旧节点removeChild(子节点):删除子节点语法:父节点.removeChild(子节点)==子节点.parentNode.removeChild(子节点)confirm():用于弹出一个带有确认,删除和提示信息的提示框...
2021-08-16 15:09:12
278
原创 正则表达式
*正则表达式:定义一些字符串的规则严格区分大小写*///创建正则表达式的对象://语法:var变量=newRegExp("正则表达式","匹配模式")//匹配模式可有可无:i:忽略大小写g:全局匹配模式m:多行匹配varreg=newRegExp();//方法:test()检查一个字符串是否符合定义的规则varresult=reg.test()//使用字面量创建正则表达式://语法:var变量=/正则表达式/匹配模式varreg=/a...
2021-08-14 17:10:02
106
原创 js基础:判断语句,作用域,函数
*prompt(“提示”):弹出一个提示框,并携带一个文本框,并且可以在该文本框中输入内容*promtp()返回值是string*switch语句,case结果为true的话,它后面的语句都会执行,所以要在每个语句后面加个break,如果case结果都为false则执行default语句*Math.sqrt():开平方*调用函数时,浏览器解析器不会检查实参的类型以及数量*如果实参数量小于形参,对应实参的形参为undefined*return后的语句都不会执行,*枚举对象中的属性:
2021-08-12 22:55:05
150
原创 JS基础1
javascript包括:ECMAScript,DOM,BOM*document.write():向body中输出内容*<ahref="javascript:alert('111')">可以把js代码写入标签中</a>*<buttononclick="alert('111')"></button>*script标签一旦引入外部JS文件就不能在此标签下面编写js代码,编写之后也没有反应。*再创建一个新script标签才可以编写*htm..
2021-08-11 23:08:42
115
原创 对数据,变量,内存,数据类型的理解
/*数据类型://1.分类://基本数据类型:stringbooleannumbernullundefinedsymbol//引用(对象)数据类型:Object//Function:一种特别的对象(可以执行)//Array:一种特别的对象(数值下标,内部数据是有序的)//2.判断://1.typeof:可以判断string/boolean/number/undefined/function不能判断null与objectobject与array...
2021-08-09 20:12:25
194
1
原创 算法练习:双指针2
1.移动零:给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。思路:1.设置两个指针2.右指针进行遍历,若为0则跳过,左右指针都右移,若不为0,则将左指针的值改为右指针的值。代码:2.两数之和:给定一个已按照升序排列的整数数组numbers,请你从数组中找出两个数满足相加之和等于目标数target。思路:两个指针同时遍历,判断相加是否为target代码:3.反转字符串:编写一个...
2021-08-05 20:20:41
88
原创 算法练习:双指针
1.有序数组的平方:给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。方法一:暴力解法思路:遍历所有数,求其平方,再进行排序。代码:方法二:双指针思路:如图,比较左右指针所指数值绝对值的大小,若左边大于右边则先提取出左边数值的平方,然后使左指针右移,继续进行该步骤,知道所有数都被取到。代码:2.旋转数组:给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。...
2021-08-03 20:04:13
143
原创 算法练习:二分查找
1.二分查找:给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。方法一:类二分法 二分法与此类似,添加一个mid值来进行比较思路:1.判断第一个与最后一个数是否与target相等 2.若第一个数小于target 3.若最后一个数大于target 4.数组中找不到与target对应的数代码:...
2021-08-02 20:26:02
202
原创 第二日练习题解:
1.判断是否以元音字母结尾//声明函数: functionendsWithVowel(str){//使用正则表达式定义变量为结尾处的原因字母,再通配大小写: var reg = /(a|e|i|o|u)$/gi;//返回测试结果: return reg.test(str);}2.dom节点查找//声明函数:functioncommonParentNode(oNode1,oNode2){ for(;oNode1;oNode1=oNode1.pa...
2021-07-28 20:23:24
109
原创 第一日练习题解:
1.两数之和:给定一个数组与其中两个数值的和,求哪两个数的和等于给定的数组和。思路:1.定义一个返回数组 2.对输入的数组进行遍历 3.相加判断是否与和相等 4.返回数值给返回数组定义变量并声明函数: var twoSum=function(nums,target){ //nums为输入的数组,target为两 ...
2021-07-27 19:41:47
115
原创 JS排序算法:冒泡排序,快速排序,插入排序
一.冒泡排序冒泡排序是较为简单的一种排序算法,它通过不断的比较相邻的两个数的大小,大的向后推一位,小的向前推一位,直到最后一位,以此来实现由小到大的排序效果。动图演示:代码展示:运行结果:二.快速排序快速排序是在所有元素中选择一个为基准,然后把小于这个基准的元素放到其前面,大的放到后面,然后该基准就会位于数列的中间,重复此操作,最后再递归的把小于基准值元素的子数列和大于基准值元素的子数列排序。动图演示:代码展示:结果展示:三.插入排序..
2021-07-21 20:18:13
303
原创 JS中函数与原型的理解
函数也称为构造函数,其出现的同时一定伴随着原型的出现。原型的数据类型为对象。以Object为例:结果为:函数与原型之间互相连通,所有的函数都可以使用prototype属性来找到它的原型,原型又可以通过constructor属性来回到他所在的函数。所以函数就等于函数.prototype.constructor。以Object为例:结果为:在此函数的基础上进行new函数构造的时候,新的函数仍可以使用到原函数的原型以及其所拥有的一些方法,也就是新函数与原函数...
2021-07-19 19:58:46
384
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人