JS
文章平均质量分 72
michaelxuzhi___
2020届毕业。专业:网络工程,方向:测试开发,扩展:前端开发
目前在职:游戏测试
展开
-
Promise的详解,解决回调地狱
1、作用解决回调地狱问题2、Promise的参数Promise是一个构造函数,通过new关键字实例化对象接收一个函数作为参数在接收的 作为参数的函数 中,又接收两个参数:resolve 和 rejectresolve 和 reject 又是函数作为参数3、Promise的状态 :statepending状态:准备、待决解、进行中fulfilled状态:已完成、成功rejected状态:已拒绝、失败4、状态的改变初始化的时候,当前Promise的状态:pendin原创 2021-06-20 18:03:10 · 473 阅读 · 1 评论 -
this的个人笔记
使用构造函数的方式创建一个函数,再用new的方式使用该函数,也是相当于创建了一个对象function User(name) { this.name = name; this.show = function () { console.log(this.name); function render() { // window对象 console.log(this); } render(); };}let xiaoming = new User('小明原创 2021-03-21 23:46:54 · 123 阅读 · 0 评论 -
数组的使用详解
普通用字面量来创建数组,直接往[]中添加元素let array = [1, { name: 'xiaomin', key: 12 }, 3, 4, 5];console.table(array);用构造函数的方式创建数组,会有个问题,就是只往 Array()中放一个元素时,会被当作创建数组长度来解析创建一个长度为 6 的数组,而不是创建一个长度为 1,元素为 6 的数组let array = new Array(6);console.table(array.length);新版的 js,给原创 2021-03-06 21:00:37 · 1318 阅读 · 0 评论 -
订阅者-发布模式/观察者模式-vue(旧)响应式原理
定义一个普通对象:houseObj 房子对象定义一个消息列表,房子的信息,list,待会儿会从消息列表中筛选出合适的信息发布。不用数组,是因为数组会把key当作索引处理,再去取里面的内容的话,会进行数组的深拷贝,增加性能负担,而使用对象就可以省去深拷贝listen,增加订阅者,(对房子的要求,key是对房型的规定,fn往下看是一个打印订阅者信息的方法而已)trigger,是发布消息最终是通过key来判断每个订阅者的需求,并进行正确的消息发布 let houseObj = {} .原创 2020-05-18 21:41:03 · 300 阅读 · 0 评论 -
js中将获取到的时间戳转化成正常格式
在开发过程中,绝大可能都会遇到请求服务器,服务器返回的时间数据是以时间戳的方式呈现的,这时候就需要我们将时间戳格式转换为我们生活中正常的时间格式。1、自己通过Date对象方法的形式拼接。①首先要将时间戳转换成Date对象,时间戳一般以秒为单位,所以在传给Date时,要乘以1000,如果返回的时间戳是毫秒级的,就不用乘以1000了。const date = new Date(时间戳*1000)②拿到Date对象,将此对象转换成对应得字符串。Date对象有对应的方法:以下列举的是比较...原创 2020-05-16 23:14:37 · 1275 阅读 · 0 评论 -
vue cli3配置文件夹别名 alias
vue cli3配置文件夹别名-alias①创建 vue.config.js②进行配置module.exports={ configureWebpack:{ resolve:{ alias:{ '@' : 'src', 'assets' : '@/assets' '别名': '路径' } } }}...原创 2020-05-01 20:39:54 · 1123 阅读 · 0 评论 -
数组高阶函数的使用
1、filter(callbackfunction( ){ })回调函数返回的是 boolean 值,true: 将元素存入一个新数组中,false: 丢弃该元素例: data:[10, 20, 100, 140]需求:选出其中小于 100 的元素,并赋值给新数组 dataNum:[ ]传统方式:用 for 循环遍历整个数组,每个元素地进行判断,再执行下一步操作用 f...原创 2020-04-25 18:09:40 · 211 阅读 · 0 评论 -
Promise简介
以定时器的异步事件为例:每一个定时器都看作是一次网络请求,如果用普通的$ajax来写的话,假如数据处理代码量多且请求嵌套过多,会出现回调地狱。。。promise写的话,结构清晰。处理优雅。new Promise((resolve, reject) => { // 第一次请求 setTimeout(() => { resolve();...原创 2020-04-18 00:09:55 · 105 阅读 · 0 评论 -
Uncaught (in promise) NavigationDuplicated {_name:""NavigationDuplicated"... 的解决方法
import VueRouter from 'vue-router';Vue.use(VueRouter)const originalPush = VueRouter.prototype.push;VueRouter.prototype.push = function push(location) { return originalPush.call(this, locati...原创 2020-04-15 20:00:14 · 307 阅读 · 0 评论 -
清除浮动
原因:1、浮动的盒子脱离了标准文档流,会造成没有主动设置高度的父盒子失去高度;示例: <div> <p>一段文字</p> </div>当style为空,div作为p的父盒子是包住p的,所以div即使在没有主动设置高度的情况下,它的高也是与p的高一致,即:div由p的内容撑开。p{ float: left; }...原创 2019-08-01 20:59:19 · 104 阅读 · 0 评论 -
一个谷歌界面
花了点小时间,把学的盒子,float浮动给运用一下。先上图:背景图是网上瞎找的,如果图片原作者不愿意我使用,请告诉我!<!-- 大包含 --><div style="width:100%;height:100%;"> <!-- 顶部 --> <div class="header"> <...原创 2019-08-01 13:22:19 · 154 阅读 · 0 评论 -
鼠标移入移出事件
JS给网页添加交互、功能、修改样式。复选框:<input type="checkbox" />鼠标提示框:①将鼠标移入复选框,div显示-display:block;②鼠标移出复选框,div隐藏-display:none;事件:用户的操作,onmouseover:鼠标移入事件,onmouseout:鼠标移出事件<input type="checkbox" on...原创 2019-07-03 15:42:10 · 412 阅读 · 0 评论