自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 原型和原型链

一、什么是原型原型:每一个javascript对象(除null外)创建的时候,都会与之关联另一个对象,这个对象就是我们所说的原型,每一个对象都会从原型中’继承’属性。例如:var Obj=new Object();创建一个对象的时候都会同时关联一个对象,关联的这个对象就是新建的对象obj的原型二、prototype在Javascript中,每一个函数或者对象都有一个prototype属性,该属性指向函数的原型对象。当用该函数构造出一些对象之后,这些对象也继承了原型对象上的属性functio

2022-05-11 17:07:21 4065 2

转载 Object.keys()方法的常见用法

1.传入对象,返回对象的key值var obj=new Object();obj={a:1,b:2}console.log(Object.keys(obj)) //['a','b']传入字符串,返回索引var str = new String();str = 'abc123';console.log(Object.keys(str)); //['0','1','2','3','4','5']构造函数 返回空数组或属性名function Basic(name,age,addres

2021-04-06 18:13:33 181

原创 sort

最新时间排序故:倒序数组下的时间this.userList.sort((a:any, b:any) => b.create_time-a.create_time)

2021-04-06 14:25:12 114

原创 Cascader 级联选择器 多选

Cascader 级联选择器 多选<el-cascader class="cascader" :options="options" :disabled="is_edit" v-model="cascaderActive" @change='cascaderData'

2021-04-06 14:08:48 3005

原创 new Date

new Date() //是中国标准时间格式运用在时间插件展示new Date(dateTime/1000).getTime() //时间戳 向后端传输new Date(finance_date*1000) //时间戳 运用单一的时间插件

2021-03-20 11:33:38 116

原创 vue开发过程中数组新push一个对象,其他对象同时被修改

this.targetData.push(item) 原因:vue开发数组push一条对象而导致之前push进去的对象也变成后面进去对象的值,百度发现原因是对象 是引用类型,传递的是引用地址,所以两个数组引用的是同一个对象,只要其中一个数组改变,就会导 致对象改变,进而另一个引用的数组也会改。 解决方法:将需要放入数组的对象先深拷贝一份,用拷贝的对象,这样就不存在引用关系了。 1. 拷贝方式一:Object.assign({},需要拷贝的对象) eg:const targ..

2021-03-20 11:30:23 1482 1

原创 提高css加载速度

1.css加载不会阻塞DOM树的解析2.css加载会阻塞DOM树的渲染3.css加载会阻塞后面js语句的执行避免用户长时间看到白屏,尽可能提高css加载速度1.使用CDN(因为CDN会更具网络状况,挑选最近的一个具有缓存内容的节点提供资源,因此可以减少加载时间)2.对css进行压缩(可以用很多打包工具,比如webpack,gulp,也可以通过开启gzip压缩)3.合理的使用缓存(设置cache-control,以及E-tag都是不错的,不过要注意一个问题,就是文件更新后,要避免缓存而代开的影响。

2021-02-03 10:11:07 948 2

原创 使用bus实现组件之间的通信

实现各个组件之间(父子,兄弟)的通信可以使用vuex和bus事件总线,使用bus总线实现通信的方法如下:微信小程序内this.$bus.emit('addressEvent', event.currentTarget.dataset.item)子组件方法内定义,并传递向父组件的数据,同理兄弟,父子,那个是传值的就先定义方法名和传递的数据父组件接收data 里面定义 addressEvent:null//第一个参数为标志变量,第二个参数为通信的值 //传递数据//加入需要传递的方法内th

2020-12-22 18:31:42 1430

原创 git 回退版本

二行代码git reset --hard commit_idgit push就ok

2020-12-11 18:27:56 149 3

原创 map和forEach的区别

map 返回其原始数组的新数组,但是 forEach 却没有。但是它们都确保了原始对象的不变性。[1,2,3].map(d => d + 1); // [2, 3, 4]; [1,2,3].forEach(d => d + 1); // undefined; 如果更改数组内的值,forEach 不能确保数组的不变性。这个方法只有在你不接触里面的任何值时,才能保证不变性。[{a: 1, b: 2}, {a: 10, b: 20}].forEach((obj) => obj.a +=

2020-12-08 12:50:59 227

原创 js截取指定字符前面或后面的内容

js截取指定字符前面或后面的内容function getCaption(obj,state) {var index=obj.lastIndexOf("\-");if(state==0){obj=obj.substring(0,index);}else {obj=obj.substring(index+1,obj.length);}return obj;}var data = 'aaa-bbb'//截取符号前面部分getCaption(data,0) //输出aaa//截取符号后面部

2020-11-13 14:48:06 3771

原创 如何拼接参数

es6方法模板例如:`https://apple.mlwplus.com/test?type=urgepayment&id=${ codeid }&code=type`es5字符串拼接例如:window.location.href = 'https://apple.mlwplus.com/test?type=urgepayment&code=' + codeid + '&id=123'...

2020-11-12 18:28:48 700

原创 根据接口返回字段改变颜色

通过事件<div class='data-list' :style="{color: getColor(item)}" v-for="(item,index) in city" :key="index"> <div style="width: 100%;display: flex;"> <div style="width: 25%;">{{ item.name }}</

2020-10-13 15:09:09 632

原创 javaScript的策略模式

当我们需要判断多种情况时常常会使用ifelse;但这种写法复用性差,缺乏弹性;传统写法function getLevel(level) { if (level === '花泽香菜') { console.log("黑猫"); } else if (level === '中原麻衣'){ console.log("茱比娅"); } else if (level === '三上枝织') { console.log('阿卡林');

2020-09-10 10:36:50 154

原创 JavaScript的15个数组处理方法

在javascript中,数组是一个特殊的变量,用于储存不同的元素,它具有一些内置属性和方法,可用于根据需要添加,删除,迭代或操作数。1.some()此方法为参数传递的函数测试数组,如果有一个元素与测试元素匹配。则返回true,否则返回false。some()不会对空数组进行检测;some()不会改变原始数组。const mysomeArray=['a','b','c','d',]mysomeArray.some(test=>test==='d')//-------> Output

2020-09-09 16:42:20 206

原创 jq实现右侧弹框规则说明后,点击页面任意处需要可收回弹框

点击详情 展示弹框当鼠标点击除弹框以外的地方,也能控制弹框的不显示。我刚刚开始的时候最开始想到的是通过,document来实现。但忽略了一个点。就是当鼠标点击到弹框内的时候,也会执行这个函数事件,导致隐藏其实可以写一个弹出层等于是,当点击详情的时候同时展示出一个div为width:100%;height:100%它的显示度z-index低于弹出框的就可以了#activity_warp { position: fixed; top:0;..

2020-08-07 10:20:00 327

原创 php结合jq对数据的条数限制展示

点击更多出现剩下内容当数据条数大于2时,显示更多鼠标悬浮更多,显示剩下数据,更多不显示离开数据框时,更多显示,数据框不显示<!-- 活动标签 --> <div class='activity_tag'> <?php $txt = ''; if($res['activity_tags']!=[]){ .

2020-08-06 10:39:46 155

原创 jq

我在这里只是为了练习和做笔记,详情请看jq的相关教程,如果一下文章有误尽情提出!核心jQuery([selector,[context]]) 对标签内匹配的元素做处理首先解说一下selector和context,selector用来查找的字符串context作为待查找的dom元素例如:$(‘input[name=“text”]’) css选择器对匹配的input的text元素做一些处理1.找到所有p元素,并且这些元素都必须是div元素的子元素$('div>p') 表示.

2020-08-05 18:34:55 139

原创 php结合jq通过index值进行展示或者隐藏

具体功能展示如图<?php $txt=''; if($house['activity_tags']!=[]){ foreach($house['activity_tags'] as $key => $item){ $txt .='<div class="activity_cen activity_up"><span clas.

2020-08-04 10:34:40 290

原创 ref的使用

vue给我们提供一个操作dom的属性,ref。绑定在dom元素上时,用起来与id差不多,通过this.$refs来调用<template> <div ref='test' @click="Add" >test</div></template><script> methods: { Add(){ let testDom = this.$refs.test testDom.style.height = '

2020-07-06 15:54:06 195

原创 通过参数匹配相应内容

通过名字传定义参进行匹配if(obj.if_lianyou=='0'){ city = [ {name:'北京',logo:'mlw_bj_20200630.png'}, {name:'福州',logo:'mlw_fz_20200630.png'}, {name:'成都',logo:'mlw_cd_20200630

2020-06-30 18:36:41 263

原创 实时更新react项目从0开始

这个文章写的比较详细一些,是关于react项目的初学从基础创建到项目的实战,望业界大佬不要嘲笑才好。本人呢!在学习中如有什么错点,可以指出来呀,我才能吸取教训多多改正啊,望共进步!如果有辛给你们带来帮助,我也会很高兴滴!下载一个react项目React的优点:提升开发效率、代码可维护性和可阅读性增强-需提前检测npm 和node 因为本人配置了,所以就也不演示和解释了npm install -g create-react-app 下载脚手架工具create-react-app my-app

2020-06-28 10:48:55 280

原创 js提交数据加校验,存储本地

<html lang="en"><head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <title></title></head><script>&

2020-05-26 09:33:24 348

原创 echarts鼠标悬浮图表上时浏览器发生抖动

echarts鼠标悬浮图表上时浏览器抖动tooltip: { show: true, transitionDuration:0,//防止tooltip的抖动}

2020-05-25 09:31:55 736

原创 vue启动项目的坑

当终端控制台报错:Error: listen EADDRNOTAVAIL: address not available 192.168.1.1:8080出现原因在使用git clone复制别人代码运行npm run dev 时会出现Error: listen EADDRNOTAVAIL: address not available 172.25.11.176:8080的错误,是由于两个IP不...

2020-04-14 20:49:36 378

原创 小程序(试题)全局配置,生命周期,Component,组件通信,behavior,template,wxs

全局配置小程序根目录下的 app.json 文件用来对微信小程序进行全局配置。文件内容为一个 JSON 对象,属性有:pages 页面路径列表window 全局的默认窗口表现style 指定使用升级后的weui样式等等 请看官方详细文档小程序全局配置生命周期onLoad 监听页面加载onReady 监听页面初次渲染完成onShow ...

2019-11-26 00:46:43 319

原创 面试题(7)函数防抖和函数节流,什么是事件委托为什么要用事件委托,原生中的window. onload和jQuery中的 ready函数 $(function(){})

函数防抖和函数节流函数防抖函数防抖:就是当你触发事件后在n秒内函数只能执行一次,如果n秒后又触发了事件,就会终止 前一次,重新计算函数执行时间打个比方,坐公交,司机需要等最后一个人进入才能关门。每次进入一个人,司机就会多等待几 秒再关门应用场景:连续的事件,只需触发一次回调的场景有1.搜索框搜索输入。只需用户最后一次输入完,再发送请求2.手机号、邮箱验证输入检测3.窗...

2019-11-22 11:58:14 239

原创 面试题(6)手写promise封装ajax请求,在地址栏输入网址敲回车发生了什么?,什么是BFC?什么情况下触发BFC

(1)手写promise封装ajax请求 <script type="text/javascript"> var ajaxOptions = { url: 'url', //发送到服务器端的url method: 'GET', //GET/POST async: true, //异步为true,同步为false data: null, //数据 da...

2019-11-22 10:25:08 155

原创 面试题(5)详述虚拟DOM中的diff算法,swiper图片不动解决,子组件能不能修改父组件传递过来的数据

详述虚拟DOM中的diff算法swiper获取数据、css都没有问题,但是图片不动,应该怎么解决原因:就是swiper在请求数据之前就已经渲染出来了,然后没有数据,就相当于一个没有图片的轮播。就像我的才华一样,吊用没有。解决方案:第一种:this.$nextTick()这个方法放在生命周期里面,在DOM渲染完毕之后执行回调函数。可以在这里初始化swiper。就像我的脑子一样,发生之后再...

2019-11-21 20:47:27 195

原创 面试题(4)vue-router实现原理, Vue响应式原理,解决404问题

(1)vue-router实现原理vue-router提供三种路由模式1.hash模式默认模式,通过路径中的hash值来控制路由跳转,不存在兼容问题hash模式实现原理在正常路径后跟一个 # 号,匹配 # 后边的路径为前端路由,通过window.onhashchange方法来操控路由改变的时候切换内容2.history模式H5新增的 history API,相对hash而言,不会显示...

2019-11-21 20:39:25 758

原创 面试题(3)对MVC,MVVM,MVP的理解,组件通信,常见的解决跨域的方式

position有几种取值,分别是什么意思?position有四种取值:static:静态定位,是position属性的默认值,表示无论怎么设置top,bottom,right,left属性元素的位置(与外部位置都不会发生改变)relative:相对定位,表示用top,bottom,right,left属性可以设置元素相对于初始位置的相对位置absolute:绝对定位,表示用top,bo...

2019-11-21 20:24:42 187

原创 面试题(2)v-show和v-if区别,vue中的key的作用,assets和static的区别,computed 和 methods的区别 computed 和 watch的区别

v-show和v-if区别v-show判断显示隐藏,只是简单的切换display,适合频繁切换v-if判断dom,条件很少时运用vue中的key的作用key就是唯一标识, 运用Diff算法就可以正确的识别此节点,然后找到正确的位置区插入新的节点。assets和static的区别相同点assets和static都是存放静态资源文件。项目中的文件图片,字体图标,样式文件等都可以放在这两个...

2019-11-21 20:00:49 275

原创 面试题(1)简述vuex工作流程,vue-router导航守卫(钩子函数),详述keep-alive组件

简述vuex工作流程1.从API中拿数据,就会牵扯到异步操作,所以我们把异步操作定义在axtion中2.在组件触发一个action,action里面有一个ajax请求,去请求后端的一个接口3.用commit提交一个mutation拿到数据以后我们只需要改变state中的状态4.状态改变后vuex视图就会改变(因为vuex是响应式的)vue-router导航守卫(钩子函数)...

2019-11-21 19:55:53 1179

原创 vue解决跨域方案

什么是跨域跨域是指浏览器不允许当前页面所在源去请求另一个源的数据。源是指协议,端口,域名。只要这3个中有一个不同就是跨域协议跨域http://a.baidu.com访问https://a.baidu.com;端口跨域http://a.baidu.com:8080访问http://a.baidu.com:80;域名跨域http://a.baidu.com访问http://b.baid...

2019-11-12 13:56:23 153

原创 axios调取接口写分页器

用Element样式写分页器 <el-pagination @size-change="handleSizeChange" // @current-change="handleCurrentChange" // :page-sizes="[5, 10, 15, 20]" :page-size="10" ...

2019-11-11 09:48:20 627

原创 本地存储 (vuex,token持续有效)

本地存储 (vuex,token持续有效)我这里用的是封装的loca.js(localStorage的方法)文件js放在src的里面和app.vue同级export default{ //存储 save(key,val){ localStorage.setItem(key,JSON.stringify(val)) ...

2019-11-10 20:11:10 655

原创 axios的封装

都是在src下创建文件第一:创建config文件 内设index.js 封装固定路由接口 const config={ baseUrl:'路由地址' //baseUrl 封装的路由名称 } export default config第二:创建utils文件 内设index.js 接口的包装 import config fro...

2019-11-09 10:22:23 195

原创 如何解决异步跨域问题

我们先了解一下什么是跨域要了解跨域,就要先说说同源策略。同源策略是由Netscape公司提出的一个著名的安全策略。所有支持Javascript的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。当页面在执行一个脚本时会检查访问的资源是否同源,如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问解决跨域首先:找到config文件下的index.js,其次找到ind...

2019-11-09 10:09:34 262

原创 $nextTick的使用

什么是$nectTick呢?它就是用来知道什么时候DOM更新完成的实例有一个div,默认使用v-if(或者v-show都是可以的)将其隐藏,定义v-if的默认状态为false,点击一个按钮,改变v-if定义的值,让它显示并且拿到div内的内容上代码<div id="app"> <div id="div" v-if="showDiv">hello</d...

2019-11-09 09:38:39 568

原创 Git的使用流程

Git的使用流程今天,我们学习了git提交到远程数据库,下面就让我来给大家整理一下我学习的笔记吧!!!配置 git config --global user.email “github邮箱” git config --global user.name “github用户名”git init 实例化git (可以理解为新创建版本库git管理的仓库)git status 查看状态 ...

2019-10-25 00:16:38 146

空空如也

空空如也

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

TA关注的人

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