js
文章平均质量分 86
星河·
记录成长之路
展开
-
this指向全解
理解this,你要先记住以下两点:this永远指向一个对象this的指向完全取决于函数调用的位置接下来我们用代码的形式一 一举例介绍var obj = { name:'王', fun:output}var name = '赵';function output(){ console.log(this.name);}obj.fun(); // 王output(); // 赵上述代码中,fun函数被调用了两次,显而易见的是两次的结果是不一样的;obj.f原创 2022-04-11 10:51:58 · 1413 阅读 · 1 评论 -
promise 全网最详解释,包括各方法和手动实现Promises/A+ 规范(2)
接上一篇文章我们接着来说Promisepromise 全网最详解释,包括各方法和手动实现Promises/A+ 规范(1)1.Promises/A+ 规范规范的第一部分,描述了几个术语的意思。promise 是一个包含 then 方法的对象或函数,该方法符合规范指定的行为。thenable 是一个包含 then 方法和对象或者函数。value 就是任意合法 JS 值。exception 就是 throw 语句抛出的值。reason 是一个指示 promise 为什么被 rejected 的原创 2022-04-01 16:40:31 · 455 阅读 · 1 评论 -
promise 全网最详解释,包括各方法和手动实现Promises/A+ 规范(1)
1.Promise 的含义作为 Modern JavaScript 基础设施的一部分,Promises 对前端开发者而言异常重要。它是 async/await语法的基础,是 JavaScript 中处理异步的标准形式。并且,未来的 Web API,只要是异步的,都会以 Promises的形式出现。如果不理解 Promises 相关的知识和运行机制,将来可能无法完成 Web 开发的日常工作。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法原创 2022-04-01 15:06:01 · 322 阅读 · 1 评论 -
浅聊vue双向绑定原理Object.defineProperty-/-Proxy
什么是双向绑定呢?vue又是怎么做的我们接下来就聊一聊什么是双向绑定?当数据模型data变化时,页面视图会得到响应更新vue又是怎么做的?vue其实现原理是对data的getter/setter方法进行拦截(Object.defineProperty或者Proxy),利用发布订阅的设计模式,在getter方法中进行订阅,在setter方法中发布通知,让所有订阅者完成响应。说这些的时候我们在刚使用vue2.x的就会遇到过数据更新了啊,为何页面不更新呢。这其实就是Object.defineP.原创 2022-03-16 21:53:14 · 1389 阅读 · 4 评论 -
深浅拷贝解析
最近到了面试季节,做为前端的热门问题我们今天来盘一盘说到深浅拷贝那就要说到JavaScript的数据类型基本数据类型和引用数据类型基本数据类型StringNumberBooleanNullUndefinedSymbol(new in ES 6)引用数据类型ObjectArrayDateRegExpFunction两者特点基本数据类型:直接存储在栈(stack)中的数据引用数据类型:存储的是该对象在栈中引用,真实的数据存放在堆内存里简而言之就是浅拷贝: 创建原创 2022-03-14 22:04:18 · 762 阅读 · 2 评论 -
ES6简单用法取代ES5,简洁代码
ES6简单用法取代ES5,简介代码一、关于取值1.直接取值2.修改key值取值3.ES6的解构赋值虽然好用。但是要注意解构的对象不能为undefined、null。否则会报错,故要给被解构的对象一个默认值。二、关于合并数据三、if中判断条件1.判断简化2.条件简化四、关于数组遍历取值1.改进 取指定值2.改进 取指范围值五、关于扁平化数组六、关于获取对象属性值七、关于输入框非空的判断八、关于异步函数一、关于取值const obj = { a:1, b:2, c:3, d:原创 2021-11-19 16:10:08 · 639 阅读 · 0 评论 -
正则表达式一行限制input只能输入数字和两位小数
使用简单的正则来限制input的输入内容 主要用作金额相关的业务中<el-input v-model="amount" placeholder="请输入金额" oninput="value=value.match(/^\d+(?:\.\d{0,2})?/)"></el-input>原创 2021-03-04 11:51:56 · 2261 阅读 · 4 评论 -
echarts 图标使用rem解决刷新的问题
我们一般是在mounted中监听页面刷新人后在渲染完毕后在调用echarts mounted() { this.$nextTick(() => { this.initChart() }) }, methods: { initChart() { this.chart = echarts.init(this.$el, ...原创 2020-03-27 13:42:16 · 1519 阅读 · 0 评论 -
设置页面自适应rem
let setFont = function () { // 因为要定义变量可能和别的变量相互冲突,污染,所有用自调用函数 let html = document.documentElement;// 获取html // 获取宽度 let width = html.clientWidth; // 判断 if (width &...原创 2020-03-24 18:21:45 · 321 阅读 · 0 评论 -
小程序 绘制圆角矩形和圆角图片
本文介绍了在小程序绘制海报中所要绘制圆角图片的一种方法参数介绍··ctx : 是指获取到的当前小程序方法 方法如下 <canvas canvas-id="DetailsshareCanvas" style="width: 600rpx;height:880rpx;position:relative;" catchtouchmove="myCatchTouch"&...原创 2019-09-19 10:53:36 · 2315 阅读 · 1 评论 -
小程序使用 canvas 生成二维码
因项目需求需要在小程序端生成海报自带二维码成图在网上找了一个算法改过来使用,希望能帮助到使用的人创建一个canvas <canvas canvas-id="shareCanvas" style="width: 600rpx;height:840rpx;position:relative;" catchtouchmove="myCatchTouch"></canvas&g...原创 2019-08-02 18:49:15 · 2482 阅读 · 2 评论 -
JS实现继承的几种方式
JS继承的实现方式 堪称最全最详细前沿看js继承这块时我看的几个教程都是说的很简单或者是没有说全就自行百度看了好多总结了下有:1.构造函数继承 2.原型链继承 3.组合继承 4.class继承 5.实例继承 6 拷贝继承 7.寄生组合继承下面我们就按照顺序来实现实现继承前我们先构建一个父类代码如下:function Animal (name) { this.name =......原创 2019-06-12 12:37:41 · 3107 阅读 · 1 评论 -
小程序异步方法执行慢的决绝方法
比如:在小程序app.js中写请求的方法请求来的参数,在页面里的onload方法中使用,当程序进程执行到了onload方法,而app.js中的请求还没有返回数据就会发生报错。示例代码 示例我们用个人信息请求这是app.js中的代码 onLaunch: function () { // 获取用户信息 wx.getSetting({ success: res ...原创 2019-06-06 14:14:07 · 1272 阅读 · 0 评论