自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 150

原创 Promise的基本概念

1.什么是Promise JS中解决异步操作的新方法(旧方法是使用回调函数) 1.从语法上来说,它是一个构造函数 2.从功能上来说,它用来封装一个异步操作并能获取其成功或失败的返回值 2.为什么要用Promise 1.指定回调的方法更加灵活: 旧方法:必须在异步操作前指定 Promise:异步操作->返回promise对象->给promise对象绑定回调函数 2.支持链式调用,可以解决回调地狱问题 回调地狱:回调函数嵌套调用,外面回调异步执行的结果是内部...

2021-09-15 20:14:56 105

原创 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 211

原创 Vue route:路由

1.理解:一个路由(route)就是一组映射关系(key-value),多个路由需要路由器(router)进行管理。 2.前端路由:key是路径,value是组件。 ###1.基本使用 1.安装vue-router,命令:npmivue-router 2.应用插件:Vue.use(VueRouter) 3.编写router配置项: //引入VueRouter importVueRouterfrom'vue-router' //引入Luyou...

2021-09-06 20:19:39 292

原创 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 66

原创 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 145 1

原创 Vue:生命周期

生命周期: 1.又名:生命周期回调函数、生命周期雨数、生命周期钩子。 2.是什么:Vue在关键时刻帮我们调用的一些特殊名称的函数。 3.生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的。4.生命周期函数中的this指向是vm或组件实例对像。 1.生命周期图示 2.常用的生命周期钩子: 1.mounted:发送ajax请求、启...

2021-08-25 19:55:05 126

原创 Vue:渲染,key的作用,指令

一、渲染 条件渲染: 1.v-if :适用于切换频率较低的 不展示的dom元素会直接删除 2.v-show:适用于切换频率较高的 不展示的dom元素会被隐藏 3.注意:(1)使用v-if时,元素可能无法获取到,而使用v-show一定可以 (2)template...

2021-08-24 23:10:49 383

原创 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 291

原创 回调函数与闭包

什么是回调函数 1.你定义的 2.你没有调用 3.最终执行了 常见的回调函数: dom事件回调函数,定时器回调函数,ajax请求回调函数,生命周期回调函数 dom事件回调函数: document.getElementById('btn').onclick=function(){ alert(this.innerHTML) } 定时器回调函数: setTime...

2021-08-19 23:28:12 377

原创 JS基础:bind函数,事件,JSON

appendChild(子节点):添加子节点 使用innerHTML+="html代码"也可以添加子节点 insertBefore():插入语法:父节点.insertBefore(新节点,旧节点) replaceChild(新节点,旧节点):使新节点替换旧节点 removeChild(子节点):删除子节点语法:父节点.removeChild(子节点)==子节点.parentNode.removeChild(子节点) confirm():用于弹出一个带有确认,删除和提示信息的提示框...

2021-08-16 15:09:12 253

原创 正则表达式

*正则表达式:定义一些字符串的规则严格区分大小写*/ //创建正则表达式的对象: //语法:var变量=newRegExp("正则表达式","匹配模式") //匹配模式可有可无:i:忽略大小写g:全局匹配模式m:多行匹配 varreg=newRegExp(); //方法:test()检查一个字符串是否符合定义的规则 varresult=reg.test() //使用字面量创建正则表达式: //语法:var变量=/正则表达式/匹配模式 varreg=/a...

2021-08-14 17:10:02 83

原创 js基础:判断语句,作用域,函数

*prompt(“提示”):弹出一个提示框,并携带一个文本框,并且可以在该文本框中输入内容 *promtp()返回值是string *switch语句,case结果为true的话,它后面的语句都会执行,所以要在每个语句后面加个break,如果case结果都为false则执行default语句 *Math.sqrt():开平方 *调用函数时,浏览器解析器不会检查实参的类型以及数量 *如果实参数量小于形参,对应实参的形参为undefined *return后的语句都不会执行, *枚举对象中的属性:

2021-08-12 22:55:05 129

原创 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 96

原创 对数据,变量,内存,数据类型的理解

/*数据类型: //1.分类: //基本数据类型:stringbooleannumbernullundefinedsymbol //引用(对象)数据类型:Object //Function:一种特别的对象(可以执行) //Array:一种特别的对象(数值下标,内部数据是有序的) //2.判断: //1.typeof:可以判断string/boolean/number/undefined/function不能判断null与objectobject与array...

2021-08-09 20:12:25 165 1

原创 算法练习:双指针2

1.移动零: 给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。 思路:1.设置两个指针 2.右指针进行遍历,若为0则跳过,左右指针都右移,若不为0,则将左指针的值改为右指针的值。 代码: 2.两数之和: 给定一个已按照升序排列的整数数组numbers,请你从数组中找出两个数满足相加之和等于目标数target。 思路:两个指针同时遍历,判断相加是否为target 代码: 3.反转字符串: 编写一个...

2021-08-05 20:20:41 71

原创 算法练习:双指针

1.有序数组的平方: 给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 方法一:暴力解法 思路:遍历所有数,求其平方,再进行排序。 代码: 方法二:双指针 思路: 如图,比较左右指针所指数值绝对值的大小,若左边大于右边则先提取出左边数值的平方,然后使左指针右移,继续进行该步骤,知道所有数都被取到。 代码: 2.旋转数组: 给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。 ...

2021-08-03 20:04:13 116

原创 算法练习:二分查找

1.二分查找: 给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。 方法一:类二分法 二分法与此类似,添加一个mid值来进行比较 思路:1.判断第一个与最后一个数是否与target相等 2.若第一个数小于target 3.若最后一个数大于target 4.数组中找不到与target对应的数 代码:...

2021-08-02 20:26:02 172

原创 第二日练习题解:

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 92

原创 第一日练习题解:

1.两数之和:给定一个数组与其中两个数值的和,求哪两个数的和等于给定的数组和。 思路:1.定义一个返回数组 2.对输入的数组进行遍历 3.相加判断是否与和相等 4.返回数值给返回数组 定义变量并声明函数: var twoSum=function(nums,target){ //nums为输入的数组,target为两 ...

2021-07-27 19:41:47 93

原创 JS排序算法:冒泡排序,快速排序,插入排序

一.冒泡排序 冒泡排序是较为简单的一种排序算法,它通过不断的比较相邻的两个数的大小,大的向后推一位,小的向前推一位,直到最后一位,以此来实现由小到大的排序效果。 动图演示: 代码展示: 运行结果: 二.快速排序 快速排序是在所有元素中选择一个为基准,然后把小于这个基准的元素放到其前面,大的放到后面,然后该基准就会位于数列的中间,重复此操作,最后再递归的把小于基准值元素的子数列和大于基准值元素的子数列排序。 动图演示: 代码展示: 结果展示: 三.插入排序 ..

2021-07-21 20:18:13 272

原创 JS中函数与原型的理解

函数也称为构造函数,其出现的同时一定伴随着原型的出现。原型的数据类型为对象。 以Object为例: 结果为: 函数与原型之间互相连通,所有的函数都可以使用prototype属性来找到它的原型,原型又可以通过constructor属性来回到他所在的函数。 所以函数就等于函数.prototype.constructor。 以Object为例: 结果为: 在此函数的基础上进行new函数构造的时候,新的函数仍可以使用到原函数的原型以及其所拥有的一些方法,也就是新函数与原函数...

2021-07-19 19:58:46 354 2

空空如也

空空如也

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

TA关注的人

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