自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vuex(vue2中的状态机)

辅助函数 mapState('login',['token','msg']);A组件中分发工作(发起异步请求)--->获取数据--->提交突变(将数据提交给突变 )辅助函数 mapMutations('login',['SET_TOKEN'])辅助函数 mapGetters('login',['Upper'])异步动作 $store.dispatch('login/login')辅助函数 mapActions('login',['login'])状态管理模式 维护公共状态 公共数据。

2024-01-02 16:33:10 685

原创 vue中的路由

2.beforeRouteUpdate 使用组件内的导航守卫beforeRouteUpdate监听到路由参数变化,即将进入路由to对象中params属性中可以获取到最新的参数。beforeRouteEnter()路由改变进入组件的时候触发---进入该路由对应的组件。beforeRouteUpdate()该组件被复用时候触发---更新该路由对应的组件。beforeRouteLeave()离开路由对应组件时候触发--离开该路由对应的组件。通过路由加载组件的方式,主要处理单页面应用程序。

2023-12-27 21:52:04 714

原创 vue中的动态组件和混入

3.值为对象选项(methods,computed,watch,directive)也会合并到一个对象中,如果对象键冲突保留组件内的键值对。使用component切换组件,组件会不停的创建和销毁,如果想在第一次创建时候缓存组件,可以使用keep-alive包裹。errorCaptured 捕获后代组件错误 error(错误对象),vm(发生错误的组件),info(错误提示字符串)1.data选项会进行合并,如果data数据发生冲突,会保留组件内的数据。全局混入对象会影响到每一个组件,谨慎使用。

2023-12-26 21:12:24 774

原创 vue中的render函数和过滤器

需要js完全编程能力,比模板更接近编译器,编译模板,使用render函数我们可以用js语言来构建DOM,因为vue是虚拟DOM,所以在拿到template模板时也要转译成VNode的函数,而用render函数构建DOM,vue就免去了转译的过程。为Vue添加全局功能(指令、过滤器、全局方法、实例方法、第三方库)return createElement(标签名称,{},子节点数组)格式化文本,时间都可以使用过滤器,使用在双花括号内部,使用在v-bind表达式。

2023-12-25 21:27:19 681

原创 Vue中的插槽和自定义指令

v-xxxVue.directive('指令名称',{当被绑定元素插入到父节点调用el---->绑定指令dom元素binding---->元素数据 valuevnode 虚拟节点 dom对象内存中数据表示},// 注册自定义指令// 指令绑定dom元素执行钩子函数 调用一次},// 当被绑定元素插入到父节点中el.focus();})// 局部注册自定义指令myshow:{},},// 指令所在组件更新vnode调用},

2023-12-22 17:43:19 1055

原创 在vue中使用axios发送请求

axios是基于promise的http库,可以运行在浏览器和nodejs。特性:1.运行在浏览器和nodejs2.基于promise,可以使用promise实例方法3.可以对请求和响应拦截处理4.运行在浏览器创建XMLHttpRequests5.运行在nodejs创建http请求。

2023-12-21 13:18:04 2045

原创 vue中的侦听器和组件之间的通信

2.在子组件内声明props选项接收父组件传递的数据 props:['','','']关于vuex后续文章会详细说明,父子组件、兄弟组件、无关系组件任意组件之间的传值。使用Bus.$on('emit发射自定义事件名称',(a,b)=>{使用Bus.$emit('自定义事件名称',传递的数据)2.在父组件中使用$emit发射自定义事件同时传递参数。Bus.$on('自定义事件名称',(a,b)=>{2.在父组件模板中(在子组件标签上)声明自定义事件。Bus.$emit('自定义事件名称',传递数据)

2023-12-20 22:59:01 2468 1

原创 vue中的事件修饰符、表单双向数据绑定和计算属性

对data中数据进行逻辑处理返回一个响应式数据,基于响应式依赖(data),只要响应式依赖不发生改变,计算属性就不会重新计算,多次调用计算属性会返回之前计算得结果。有缓存性,计算属性默认只提供getter,只允许读取,不允许修改,想要修改计算属性,需要提供setter函数。1.计算属性具有缓存性,响应式依赖不发生改变计算属性不会重新计算,会返回之前得计算结果。1.计算属性有缓存性,响应式依赖不发生改变,多次调用计算属性会返回之前得计算结果。3.计算属性一般不用于异步操作,methods可以处理异步操作。

2023-12-19 21:58:02 700

原创 vue中的模板语法、条件渲染(v-if)、列表渲染(v-for)

因为组件是可复用得实例,如果组件data是一个对象,会暴露在全局,数据全局可见,任意一个组件修改该组件数据,其他使用到该组件得组件数据也会被修改,所以data是一个函数不是一个对象,数据仅组件内可见。

2023-12-18 18:48:06 2140

原创 vue的生命周期

上层框架 只关注数据驱动 借鉴MVVM模式。

2023-12-15 14:16:42 284

原创 ES6小结

2.模块化 es6模块化 commonjs模块化。3.babel转码工具 将高版本转为低版本代码。1.变量声明方式 let const。10.对象简写 方法简写 属性简写。16.generator生成器。12.Symbol基本数据类型。15.String方法拓展。具体内容可以看我之前的博客内容。7.对象静态API拓展。2015年以后新增特性。

2023-12-14 19:47:00 168

原创 ES6中的promise对象及其应用

得到一个promise实例对象 所有实例请求成功或者所有实例都为fullfilled 实例才是fullfilled。resolve---promise实例状态为fullfilled执行回调函数--------请求成功执行回调函数。reject ---promise实例状态为rejected执行回调函数 ---------请求失败执行回调函数。2.fullfilled 已成功-------resolve。3.rejected 已失败---------reject。

2023-12-13 14:33:20 947

原创 ES6中的数值拓展、async函数和迭代器

异步编程解决方法 内部封装了generator函数 异步编程同步解决 简化promise api链式调用。Number.isFinite 只针对有效数值返回true 对于非有效数值返回false 不做隐式转换。3.for of 只能遍历实现了迭代器接口对象 对象不可以直接使用for...of遍历。Number.isNaN 只对于NaN返回true 对于非NaN返回false。Number.parseInt 将其他数据类型转为number类型 取整。2.for in 循环遍历数组、对象、字符串、类数组对象。

2023-12-12 15:24:22 286

原创 ES6中的迭代器和set、map集合

一种机制,也是一种接口,为数据结构提供统一访问接口,依次处理数据据结构成员只要实现了迭代器接口,就可以使用for...of循环遍历。/*** 迭代器是一种机制 是一种接口 只要数据解构实现了接口 就可以使用for ...of遍历*/// 遍历字符串 str = 'hello'/*** 1.for 循环* 2.for in循环* 7.for of循环遍历字符串*/i++){迭代器本质就是迭代器对象调用next方法,迭代对象理解为指针对象,指针指向数据结构成员。

2023-12-11 14:09:34 738

原创 ES6中新增的基本数据类型----symbol

Symbol 基本数据类型 独一无二得值 Symbol函数创建 接收字符串 对symbol值得描述let s1 = Symbol('描述')/*** symbol 基本数据类型 表示独一无二的值 Symbol函数创建独一无二得值 参数可以是唯一值得描述*///创建好一个独一无二得值let sy1 = Symbol('symbol数据类型');//对独一无二值得描述。

2023-12-08 20:55:39 409

原创 ES6中的继承,String类型方法的拓展

在ES5中所了解的String类型方法有charAt、charCodeAt、slice、upperCase、lowerCase、replace、split、indexOf、lastIndexOf····从头部添加字符串 填充字符串长度 填充字符(默认空格)从尾部添加字符串 填充字符串长度 填充字符(默认空格)当成函数调用时,代表父类的构造函数,且返回的是子类的实例,也就是此时。将字符串中的某个元素全部替换为另一个。单独去除字符串前后空格。,因为没有的话会默认产生并调用它们。在实现继承时,如果子类中有。

2023-12-07 14:37:01 358

原创 ES6拓展API

findIndex 查找数组元素 参数:回调函数(item,index,arr) 返回值:返回符合条件得第一个数组元素索引或者-1。find 查找数组元素 参数:回调函数(item,index,arr) 返回值:返回符合条件得第一个数组元素或者undefined。静态属性 只能由类本身去调用属性 Person.xxx = '' Person.method = function(){}

2023-12-06 19:41:55 479

原创 ES6基础语法

3.普通函数使用arguments保存实际参数,箭头函数使用rest参数保存实际参数。内部没有this属性 不再使用arguments保存实际参数 用rest参数。2.箭头函数没有this,this访问声明箭头函数外部作用域中的this。1.普通函数内部this指向全局对象,方法指向调用者。给右侧值匹配对应的变量 等号两侧模式一定要匹配。4.普通函数有原型对象,箭头函数没有原型对象。5.外观上 ()=>{}

2023-12-05 20:12:55 849

原创 ES6与ES5的区别?

3.导出单个属性 export let a =1;import person from 'xxx.js' person ---->默认导出内容。2.重命名导出 export {first as fi,last as la}1.列表导入 import {first,last} from 'xx.js'2.重命名导入 import {first as f,last as l};3.单个属性导入 import {a,get} from 'xxx.js'1.列表导出 export {first,last}

2023-12-04 15:19:46 567

原创 jQuery的使用

事件类型:click() blur() focus() mouseenter() mousedown()toggleClass() 切换类名 有类名则是移除 没有则是添加。绑定事件:on(function(event){}) bind() one()一次性事件绑定。clone() 深克隆和浅克隆 克隆事件和内容。解绑事件:off() unbind()html() 元素的内容 包括文本和标签。removeClass() 移除类名。text() 只获取元素的文本内容。addClass() 添加类名。

2023-12-01 14:23:00 298

原创 jQuery和JavaScript的区别

jquery入口函数可以有多个会依次执行 $(function(){})js入口函数只有一个 后面的会覆盖前面的。

2023-11-30 15:43:00 274

原创 BOM浏览器对象模型

BOM(Browser Object Model) 浏览器对象模型 操作浏览器api和接口。

2023-11-29 14:30:25 223

原创 事件代理?

// 延迟代码执行 页面加载完毕后再执行console.log(ul, '头部获取');我是第1个li我是第2个li我是第3个li

2023-11-28 17:31:51 1052

原创 事件机制?

元素.addEventListener('事件类型',事件处理程序,true/false),true 表示事件在捕获阶段执行,false表示事件在冒泡阶段执行,默认为false。那么如果我们不想让事件进行冒泡,也就是说当我们点击最里面的小方块时,只弹框inner,那么就可以调用event.stopPropagation();正常情况下,当我们点击a标签或者提交按钮时会进行页面跳转,但是如果我们给a标签绑定单击事件,并阻止它的默认行为,那它就无法跳转。绑定事件------不可以追加同一类型事件。

2023-11-27 14:35:28 317

原创 获取DOM元素和类型判断

setAttribute('属性名','属性值');通过name属性获取元素。1.querySelector('选择器');//获取一个类数组对象。1.textContent 只能获取元素或者后代元素的文本 保留代码格式。getAttribute('属性名') 获取元素属性。classList 获取元素类列表 class ='one two'3.innerText 获取元素以及后代元素文本内容 去除前后空格。replaceData() 替换文本内容。

2023-11-24 20:37:14 597

原创 DOM文档对象模型

DOM(Document Object Model) 文档对象模型,是W3C制定的标准接口规范,是一种处理HTML和XML文件的标准API。简单来说DOM就是操作网页的api和接口。

2023-11-23 20:07:41 400

原创 JavaScript中的继承

继承1.借用构造函数继承也叫经典继承2.原型链继承3.组合继承 1 + 2。

2023-11-22 17:37:33 252 1

原创 JavaScript中的设计模式

JavaScript中有四种常见的设计模式 ,目的是为了批量创建对象 为了实现继承。

2023-11-21 16:26:08 1246

原创 JavaScript中的random小案例

Math对象是JavaScript的内置对象,而random是Math对象属性Math.random()函数返回一个浮点数,伪随机数在范围从0 到小于1,也就是说,从 0(包括 0)往上,但是不包括 1(排除 1),然后你可以缩放到所需的范围。实现将初始种子选择到随机数生成算法;它不能被用户选择或重置。一、每次打印都输出一个随机数// 求随机数//0-1之间小数var arr = ['上官婉儿','萌芽','甄姬','虞姬','典韦'];代码运行结果如下:二、生成随机圆

2023-11-20 16:15:46 451 1

原创 JavaScript中函数内部属性

callee 属性是arguments内部成员(arguments属性的内部属性)仅当当前函数正在执行时候才可用,callee 属性指向当前执行函数。bind(执行环境对象,实际参数列表)(实际参数列表)此时this指向本来应该是obj,但是由于我们修改了this指向,所以此时this就指向了obj1。2.apply(执行环境对象,实际参数数组列表---->[实际参数])若代码可以循环遍历出1,2,3,4和他们的下标,便可知arguments是一种类数组对象。此时的this指向的就是{}

2023-11-17 15:10:38 200

原创 实现数组去重和数组扁平化的多种方法

思路:创建一个新的数组 判断重复数组元素是否存在新数组中 不存在直接添加到新数组。思路:检测数组元素是否存在数组中 存在返回true 不存在返回false。思路:对比前一项和后一项是否相等 相等删除后一项,修正下标。思路:展开数组 n Infinity。思路:set成员是唯一的。

2023-11-16 16:11:14 585 2

原创 JavaScript中的迭代方法和这些方法的重构

参数:function(item,index,arr){} 返回值:true或者false 不修改原数组。参数:function(item,index,arr){} 返回值:返回操作后的新数组 不修改原数组。参数:function(item,index,arr){} 返回值:返回符合条件新数组 不修改原数组。参数:function(item,index,arr){} 返回值:无 不修改原数组。

2023-11-15 15:13:27 276 1

原创 JavaScript中数组栈和队列方法和这些方法的重构

参数:添加的数组元素 返回值:新数组长度 修改原数组。参数:无 返回值:被删除最后一个数组元素 修改原数组。参数:无 返回值:被删除的第一个数组元素 修改原数组。重写myUnshift实现与unshift一样的功能。参数:添加的数组元素 返回值:新数组长度 修改原数组。重写myShift实现与shift一样的功能。作用:从末尾删除数组元素。作用:从头开始删除数组元素。作用:从头开始添加数组元素。作用:从末尾添加数组元素。

2023-11-14 17:00:32 961 1

原创 JavaScript中的数组和两个简单案例

/number类型整数 数组长度为number。var arr = new Array(其他数据类型);1.数组元素可以是任意数据类型。使用for in 循环。2.大小可以动态调整。是一个有序列表集合。

2023-11-13 17:21:00 261

原创 JavaScript简单小案例(求最长单词长度、水仙花数、返回和为目标值的数组下标、封装阶乘输出表达式)

使用for循环循环遍历从n到2的每一个数,然后让循环遍历的每个数后边拼接字符'*',声明一个空字符串,再将他们进行相加(字符串拼接)操作,再将这个数后面拼接一个字符‘1‘(因为1后面没有*字符),再声明一个初始值为1的变量,做相乘操作,和就为阶乘结果,最后将结果进行字符串拼接。用两层for循环遍历数组元素,第二层循环遍历的数组元素为第一层循环遍历的数组元素的后一个,这样就可以保证两个数组元素不是同一个,声明一个变量为两个数组元素之和,然后判断与目标值是否相等,相等时,返回数组的下标。

2023-11-10 17:24:01 390 2

原创 JavaScript实现冒泡排序和递归函数

简单来说,递归就是创建一个调用自身的函数,直到程序满足了我们想要达到的效果。通常我们会用递归来进行深拷贝、斐波那契数列、阶乘···要注意的是,我们在使用递归函数时必须要设置一个跳出条件,否则函数就会不停的调用自己。接下来我会写一个用递归函数实现阶乘的例子,让我们熟悉递归函数的使用。

2023-11-09 17:05:54 708 1

原创 JavaScript中的流程控制语句

意思是先计算表达式的值,再逐个和case 后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行default后的语句;else if:如果if的判断没有通过,则进行下面的else if,如果当前的else if判断通过,则执行当前else if的语句。while循环执行循环体前都会先判断下(执行循环控制表达式),而do-while循环会在执行循环控制表达式前先执行一遍循环体(这第一遍循环体是不进行判断的,直接执行)if:判断表达式内容,如果为true(真),就执行语句。

2023-11-08 16:55:40 379 1

原创 JavaScript中的运算符与类型转换

2.调用toString()方法 注意:null和undefined不能调用toString,没有实现包装器函数。如果是number和布尔值相等比较 把布尔值转为number。2.===首先会比较数据类型,数据类型不一致,直接返回false。== 和 ===在对引用数据类型比较得时候比较得是引用地址。如果是字符串和数字相等比较,把字符串转为number。1.==会进行隐式转换,将其他数据类型转为同一类型在进行比较。2.如果重写了valueOf,调用valueOf。3.如果都进行重写,调用valueOf。

2023-11-07 17:29:28 377 1

原创 JavaScript的基本概念和简单案例

JavaScript是一门函数优先、需要解析器解析执行具有原型编程的一门动态编程语言,需要在浏览器或者node.js的运行环境下解析执行特点:1.需要解析器解析执行2.弱类型语言 (可以重复声明)3.从上到下按照代码解析顺序执行4.大小写敏感 区别于HTML和css:大小写不敏感数据类型分为:1.基本数据类型(简单数据类型)2.引用数据类型(复杂数据类型)Object数组 函数两种数据类型有何区别?1.基本数据类型的变量和值都是存在栈区的,互不影响的。

2023-11-06 15:32:19 143

原创 HTML中的自适应布局

自适应布局的特点是分别为不同的屏幕分辨率定义布局,即创建多个静态布局,每个静态布局对应一个屏幕分辨率范围。改变屏幕分辨率可以切换不同的静态局部(页面元素位置发生改变),但在每个静态布局中,页面元素不随窗口大小的调整发生变化。可以把自适应布局看作是静态布局的一个系列。

2023-11-03 20:20:04 4375

空空如也

空空如也

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

TA关注的人

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