技术
文章平均质量分 82
星河·
记录成长之路
展开
-
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 · 1465 阅读 · 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 · 498 阅读 · 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 · 1416 阅读 · 4 评论 -
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 · 652 阅读 · 0 评论 -
vue npm 常用指令大全
普通安装模块,包名不会注册到package.json里面,但会把包安装到项目node_modulesnpm install module_nameinstall 可以简写npm i module_name安装指定版本npm i xxx@1.2.0更新指定的模块npm update xxx删除指定模块npm uninstall xxx 全局安装模块,也就是安装到磁盘中,不会在项目 node_modules 目录中保存模块包,但是打包的时候也会把相关的包打包进去npm i mod原创 2021-09-10 15:52:28 · 678 阅读 · 0 评论 -
computed监听vux值变化请求methods 中的方法
创建vuex监听器 computed: { pipeGalleryCode() { return this.$store.state.settings.pipeGalleryCode } },因为 pipeGalleryCode() 中无法调用方法我们可以在页面中创建watch来监听pipeGalleryCode值的变化 watch:{ pipeGalleryCode(curval,oldval){ this.getStatistics()原创 2020-08-10 11:40:10 · 1071 阅读 · 0 评论 -
cdn方式使用vue-cropper及直接使用
cdn方式使用vue-cropper首先要引入 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="{{asset('js/cos-js-sdk-v5.min.js')}}"></script> // 腾讯云的sdk <...原创 2020-01-15 13:56:51 · 1973 阅读 · 1 评论 -
用wx自定义小程序全局方法和全局变量
我们发现小程序API的方法都是挂载到wx这个变量上,全局可以访问到,我们是不是可以将自己自定义的方法或者变量也挂载wx这个变量上呢?比如我们创建一个js在app.js上引入,然后在index.js上访问$.jsif (wx) { let host ="https:baidu.com" wx.$ = {}; wx.$.host = host; module.exports =...原创 2020-01-10 10:27:59 · 2249 阅读 · 0 评论 -
解决浏览器下载文件 中文名字乱码解决
浏览器能正确识别的编码格式,只要按照这样的编码来设置对应的Content-Disposition,那么应该就不会出现中文文件名的乱码问题了。首先,文件名作为参数保存Content-Disposition里也就是header头里,content-type指定的是响应文件在浏览器显示的编码,header头里的编码没法指定,浏览器不同,Content-Disposition值可以有以下几种编码格式 。...原创 2020-01-06 14:55:56 · 3880 阅读 · 2 评论 -
前端常用布局方式:双飞翼布局和圣杯布局
CSS常用布局为盒模型div+css、其中需要注意IE的怪异盒模型,我们通常通过box-sizing解决。传统盒模型布局方式中我们可以细分为文档流布局、浮动布局、定位布局。在ie10+中我们可以使用flex布局,其中我们需要理解最为核心的容器和轴的概念。二维布局中,我们可以使用Grid布局。对于三栏布局,除了浮动实现方式,还有双飞翼布局和圣杯布局。其实双飞翼布局就是对圣杯布局的bug修复,一种改造...原创 2019-09-26 15:24:17 · 385 阅读 · 0 评论 -
小程序使用 canvas 生成二维码
因项目需求需要在小程序端生成海报自带二维码成图在网上找了一个算法改过来使用,希望能帮助到使用的人创建一个canvas <canvas canvas-id="shareCanvas" style="width: 600rpx;height:840rpx;position:relative;" catchtouchmove="myCatchTouch"></canvas&g...原创 2019-08-02 18:49:15 · 2500 阅读 · 2 评论 -
微信云开发修改数据库插入一条数据并修改另一个数据
具体看代码这是云端运行的代码客户端请求请看文档// 云函数入口文件const cloud = require(‘wx-server-sdk’) // 云函数入口文件cloud.init()const db = cloud.database()const _ = db.command// 云函数入口函数exports.main = async (event, context) =&g...原创 2019-03-27 11:32:38 · 5018 阅读 · 1 评论 -
使用php判断浏览器是pc还是手机
function isMobile(){// 如果有HTTP_X_WAP_PROFILE则一定是移动设备if (isset (KaTeX parse error: Double subscript at position 16: _SERVER['HTTP_X_̲WAP_PROFILE']))…_SERVER[‘HTTP_VIA’])){// 找不到为flase,否则为trueretu...翻译 2019-04-01 16:17:23 · 811 阅读 · 0 评论 -
html + js 进行sm.ms上传图片接受返回值
转载请标明出处代码如下 直接运行html文件即可 Document <div id="res"></div><script src="jquery-3.2.1.js"></script> <script> $(':input').chang...原创 2019-04-03 10:54:36 · 1769 阅读 · 0 评论 -
使用微信小程序进行sm.ms上传图片返回值在进行其他操作
使用微信API上传图片到sm.ms图床上传代码wx.chooseImage({success: ret => {var filePath = ret.tempFilePaths[0];wx.uploadFile({url: ‘https://sm.ms/api/upload’,filePath: filePath,name: ‘smfile’,success: res =&...原创 2019-04-03 11:39:26 · 2198 阅读 · 9 评论 -
vs code语言模式自动检测设置
文件名检测错误,可以看到上图js文件没有语法高亮,右下角显示存文本。那我们怎么设置回来呢,点击右下角的存文本(这里可能不只是纯文本也可能是其他格式 ,这是语言自动检测出的问题)。点击后会出现这个界面我们在依次点开“配置文件关联”出现这个界面后找到对应文件的格式,比如我的是js文件被默认为纯文本,导致js语法不高亮,那我们就在这里找到js点后后js文件就关联到了JavaScript,我们...原创 2019-05-14 11:02:05 · 15364 阅读 · 0 评论 -
小程序异步方法执行慢的决绝方法
比如:在小程序app.js中写请求的方法请求来的参数,在页面里的onload方法中使用,当程序进程执行到了onload方法,而app.js中的请求还没有返回数据就会发生报错。示例代码 示例我们用个人信息请求这是app.js中的代码 onLaunch: function () { // 获取用户信息 wx.getSetting({ success: res ...原创 2019-06-06 14:14:07 · 1282 阅读 · 0 评论 -
JS实现继承的几种方式
JS继承的实现方式 堪称最全最详细前沿看js继承这块时我看的几个教程都是说的很简单或者是没有说全就自行百度看了好多总结了下有:1.构造函数继承 2.原型链继承 3.组合继承 4.class继承 5.实例继承 6 拷贝继承 7.寄生组合继承下面我们就按照顺序来实现实现继承前我们先构建一个父类代码如下:function Animal (name) { this.name =......原创 2019-06-12 12:37:41 · 3218 阅读 · 1 评论 -
小程序canvas 自适应单位
我们用小程序canvas 制作分享海报或者其他的绘图时传入的值都是px;导致在不同手机中会发生位置的偏移问题;这里就需要我们根据设计图的尺寸自己去做适配转化成px单位 getRatio() { let w = 0; wx.getSystemInfo({ success: function (res) { w = res.windowWidth /...原创 2019-07-01 15:23:20 · 1932 阅读 · 0 评论 -
cocos Creator 使用摄像机进行背景的差速移动
在creator中设计背景移动一般都会使用update进行刷新坐标,但是由于update中的dt值(针)不稳定就会造成背景移动时卡顿或顿挫特别难受。这里提供了两个解决方案1.使用js的 setTimeout 计时功能写一个临时的针刷新来进行背景移动2.使用creator的摄像机功能我们这里先说下计时功能creator也有自带的计时器我们为什么使用 setTimeout 首先在js中计时器也...原创 2019-03-21 10:53:19 · 1579 阅读 · 1 评论