教程
文章平均质量分 68
星河·
记录成长之路
展开
-
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 评论 -
promise 全网最详解释,包括各方法和手动实现Promises/A+ 规范(1)
1.Promise 的含义作为 Modern JavaScript 基础设施的一部分,Promises 对前端开发者而言异常重要。它是 async/await语法的基础,是 JavaScript 中处理异步的标准形式。并且,未来的 Web API,只要是异步的,都会以 Promises的形式出现。如果不理解 Promises 相关的知识和运行机制,将来可能无法完成 Web 开发的日常工作。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法原创 2022-04-01 15:06:01 · 369 阅读 · 1 评论 -
为什么会出现跨域,如何解决-详细全网最详细
什么是跨域问题就是前端调用的后端接口不属于同一个域(域名或端口不同),就会产生跨域问题,也就是说你的应用访问了该应用域名或端口之外的域名或端口。这都是同源策略在发挥作用。同源策略同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。同源策略限制以下几种行为:原创 2022-03-25 16:10:47 · 5058 阅读 · 1 评论 -
Vue3.0的新特性(8)Suspense
Suspense是Vue3推出的一个内置组件,它允许我们的程序在等待异步组件时渲染一些后备的内容,可以让我们创建一个平滑的用户体验;Vue中加载异步组件其实在Vue2.x中已经有了,我们用的vue-router中加载的路由组件其实也是一个异步组件:export default { name: "Home", components: { AsyncButton: () => import("../components/AsyncButton"), },}在Vue3中重新定义,原创 2022-03-09 20:37:47 · 5146 阅读 · 0 评论 -
Vue3.0的新特性(7)Teleport
Teleport翻译过来就是传送、远距离传送的意思;顾名思义,它可以将插槽中的元素或者组件传送到页面的其他位置:在React中可以通过createPortal函数来创建需要传送的节点;本来尤大大想起名叫Portal,但是H5原生的Portal标签也在计划中,虽然有一些安全问题,但是为了避免重名,因此改成Teleport。Teleport一个常见的使用场景,就是在一些嵌套比较深的组件来转移模态框的位置。虽然在逻辑上模态框是属于该组件的,但是在样式和DOM结构上,嵌套层级后较深后不利于进行维护(z-inde原创 2022-03-09 20:30:41 · 1364 阅读 · 0 评论 -
Vue3.0的新特性(6)Fragment
所谓的Fragment,就是片段;在vue2.x中,要求每个模板必须有一个根节点,所以我们代码要这样写:<template> <div> <span></span> <span></span> </div></template>或者在Vue2.x中还可以引入vue-fragments库,用一个虚拟的fragment代替div;在React中,解决方法是通过的一个React.Frag原创 2022-03-03 16:02:14 · 1112 阅读 · 0 评论 -
Vue3.0的新特性(5)组合API
Composition API(组合API)也是Vue3中最重要的一个功能了,之前的2.x版本采用的是Options API(选项API),即官方定义好了写法:data、computed、methods,需要在哪里写就在哪里写,这样带来的问题就是随着功能增加,代码也越来复杂,我们看代码需要上下反复横跳:Composition API对比❝ 上图中,一种颜色代表一个功能,我们可以看到Options API的功能代码比较分散; Composition API则可以将同一个功能的逻辑,组织在原创 2022-03-03 14:58:30 · 437 阅读 · 0 评论 -
Vue3.0的新特性(4)响应式侦听
和computed相对应的就是watch,computed是多对一的关系,而watch则是一对多的关系;vue3也提供了两个函数来侦听数据源的变化:watch和watchEffect。我们先来看下watch,它的用法和组件的watch选项用法完全相同,它需要监听某个数据源,然后执行具体的回调函数,我们首先看下它监听单个数据源的用法:import { reactive, ref, watch } from "vue";const state = reactive({ count: 0,});原创 2022-03-03 14:42:55 · 1440 阅读 · 0 评论 -
nvm 安装指南 错误处理 node多版本控制器
nvm 安装与使用介绍nvm 是node多版本控制器 用于老旧和新项目切换环境下载地址与介绍 nvm 项目地址:https://github.com/creationix/nvm.git 安装包地址:https://github.com/coreybutler/nvm-windows/releases nvm-noinstall.zip:绿色免安装版,但使用时需进行配置。 nvm-setup.zip:安装版,推荐使用。 Source code(zip):zip压缩的源码。原创 2022-03-01 14:49:45 · 620 阅读 · 0 评论 -
Vue3.0的新特性(3)响应式API
我们在深入学习Object.defineProperty和Proxy讲解过Proxy优点以及Vue3为什么改用Proxy实现响应式,同时Vue3也将一些响应式的API进行抽离,以便代码更好的复用原创 2022-02-28 10:41:52 · 496 阅读 · 0 评论 -
Vue3.0的新特性(2)生命周期函数
vue3新增了生命周期钩子,我们可以通过在生命周期函数前加`on`来访问组件的生命周期,我们可以使用以下生命周期钩子原创 2022-02-28 10:29:10 · 684 阅读 · 0 评论 -
element 自定义上传
#正常自定义上传 <el-upload class="upload-asbuiltDrawingFileIds" :action="uploadurl" :headers="importHeaders" :on-remove="handleRemove2" :on-success="getasbuiltDrawingFileIds" :be原创 2021-11-19 16:27:28 · 504 阅读 · 0 评论 -
vue 实现pc端自适应 vue cli3 实现
实现vuepc端自适应方案lib-flexible + px2remLoaderlib-flexible 阿里伸缩布局方案px2rem-loader:px转rem1、安装 lib-flexible和 postcss-px2rem(命令行安装)npm install lib-flexible --save-devnpm i postcss-px2rem --save2, 引入lib-flexible在项目入口文件main.js 中引入lib-flexibleimport 'lib-fl原创 2020-06-12 09:59:31 · 9124 阅读 · 4 评论 -
echarts 图标使用rem解决刷新的问题
我们一般是在mounted中监听页面刷新人后在渲染完毕后在调用echarts mounted() { this.$nextTick(() => { this.initChart() }) }, methods: { initChart() { this.chart = echarts.init(this.$el, ...原创 2020-03-27 13:42:16 · 1526 阅读 · 0 评论 -
Vue + webpack的安装及使用快速入门
一、安装vue1、安装node.js,安装完node.js之后,npm也会自动安装,node.js安装教程 https://blog.csdn.net/weixin_43365995/article/details/103800730查询是否安装成功的命令:node -vnpm -v2、全局安装脚手架工具vue-cli,命令如下:npm install --global vue-cl...原创 2020-01-02 11:28:49 · 265 阅读 · 0 评论 -
node.js 安装和配置
node.js的下载、安装及运行1.下载官网下载地址:https://nodejs.org 中文下载地址:http://nodejs.cn/download/2.安装以windows操作系统为例是一个典型的windows应用程序的安装,建议使用默认的安装路径,放在c盘。安装的时候,一路next下去,不用做任何的额外设置,装完即可。安装完成之后,可以查看其版本号:win+r打开cmd...原创 2020-01-02 11:13:23 · 398 阅读 · 0 评论 -
如何在微信直接下载APP(iOS/Android)的解决方案
下面则要说的是如何直接跳到app store或是应用宝里下截var u = navigator.userAgent;var isAndroid = u.indexOf(‘Android’) > -1 || u.indexOf(‘Adr’) > -1; //android终端var isiOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/);...原创 2019-12-13 19:30:19 · 4525 阅读 · 0 评论 -
自动化打包部署构建
https://segmentfault.com/a/1190000017907304 解放双手 | Jenkins + gitlab + maven 自动打包部署项目https://www.cnblogs.com/xiaoer/p/8283266.html 使用Gitlab实现自动化部署与持续集成https://www.jianshu.com/p/fa3051e05c67 gitlab-ru...原创 2019-11-27 18:32:22 · 794 阅读 · 0 评论 -
微信云开发修改数据库插入一条数据并修改另一个数据
具体看代码这是云端运行的代码客户端请求请看文档// 云函数入口文件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 · 5015 阅读 · 1 评论 -
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 · 1768 阅读 · 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 · 15361 阅读 · 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 · 3217 阅读 · 1 评论 -
小程序使用 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 评论 -
小程序 绘制圆角矩形和圆角图片
本文介绍了在小程序绘制海报中所要绘制圆角图片的一种方法参数介绍··ctx : 是指获取到的当前小程序方法 方法如下 <canvas canvas-id="DetailsshareCanvas" style="width: 600rpx;height:880rpx;position:relative;" catchtouchmove="myCatchTouch"&...原创 2019-09-19 10:53:36 · 2362 阅读 · 1 评论 -
cocos Creator 使用摄像机进行背景的差速移动
在creator中设计背景移动一般都会使用update进行刷新坐标,但是由于update中的dt值(针)不稳定就会造成背景移动时卡顿或顿挫特别难受。这里提供了两个解决方案1.使用js的 setTimeout 计时功能写一个临时的针刷新来进行背景移动2.使用creator的摄像机功能我们这里先说下计时功能creator也有自带的计时器我们为什么使用 setTimeout 首先在js中计时器也...原创 2019-03-21 10:53:19 · 1579 阅读 · 1 评论