javascript
文章平均质量分 63
浪人巷子7
这个作者很懒,什么都没留下…
展开
-
JS 的 new 操作符到底做了什么?
2、把这个新的空对象的隐士原型()指向构造函数的原型对象()3、把构造函数中的 this 指向新创建的空对象并且执行构造函数返回执行结果4、判断返回的执行结果是否是引用类型,如果是引用类型则返回执行结果,new 操作失败,否则返回创建的新对象...原创 2022-06-06 17:32:53 · 1676 阅读 · 0 评论 -
Vue2.0源码(一)响应式数据原理
Vue.js 一个核心思想是数据驱动。所谓数据驱动,是指视图是由数据驱动生成的,我们对视图的修改,不会直接操作 DOM,而是通过修改数据。之前的jquery想要改变试图,是直接操作DOM来实现。现在我们只需要关心数据的改变会让代码的逻辑变的非常清晰。Vue 内部就有一个机制能监听到数据变化然后触发更新 本篇主要介绍响应式数据的原理1、数据的初始化new Vue({ el: "#app", router, store, render: (h) => h(App),});.原创 2021-06-24 22:06:57 · 568 阅读 · 1 评论 -
vue自定义指令v-loading
在我们的实际开发中,项目当中需要加载一些信息的时候,且不能操作,这样就需要在上面放个遮罩层显示加载中这就需要我们自定义指令v-loading首先我们创建文件在src文件下建directive文件夹,里面创建index.js,loading文件夹里面创建Loading.vue和index.jsloading.vue组件,用来插入到自定义指令的目标元素中// src/directive/...原创 2020-02-14 22:23:47 · 7707 阅读 · 3 评论 -
Vue项目Axios配置不同baseUrl,请求不同服务器的接口
项目需求最近使用 Vue 开发后台管理系统项目,开发过程遇到一个特别闹心的事情,由于项目没有上线,所有接口地址都是后台人员的电脑做为服务器,这个项目有几个后台同时开发接口,每一个大模块对应的接口地址不一样。这样按照常规写接口地址,只能调用一个模块,这样很不方便,也不符合前端的设计理念下面我们就封装一个可以调用不同服务器的方法第一步、新建一个serviceList.js文件 /src/conf...原创 2019-12-27 14:53:39 · 17514 阅读 · 5 评论 -
vue项目引入iview,标签语法报错
我们在新建一个vue项目,引入iview,写页面的时候,会遇到页面标签语法报错现象看控制台时候会提示会出现这样的报错但是网上找答案在vscode菜单中,文件->首选项->设置,找到 “vetur.validation.template”: true 将其改为false,关闭eslint的检查-----但是这样设置后,报错还是存在其实在vue项目中加上几行代码就可以了,...原创 2019-09-09 19:02:32 · 817 阅读 · 0 评论 -
js判断数据类型
判断数据类型我们有几种方式判断1、typeofconsole.log(typeof 123) // numberconsole.log(typeof 'java') // stringconsole.log(typeof true) // booleanconsole.log(typeof undefined) //undefinedconsole.log(typeof nu...原创 2019-09-02 20:01:50 · 116 阅读 · 0 评论 -
解决canvas绘图模糊问题
先说下为什么会出现模糊的现象canvas 绘图时,会从两个物理像素的中间位置开始绘制并向两边扩散 0.5 个物理像素。当设备像素比为 1 时,一个 1px 的线条实际上占据了两个物理像素(每个像素实际上只占一半),由于不存在 0.5 个像素,所以这两个像素本来不应该被绘制的部分也被绘制了,于是 1 物理像素的线条变成了 2 物理像素,视觉上就造成了模糊我们怎么解决呢我们可以把画布的宽和高...原创 2019-08-20 15:57:10 · 2223 阅读 · 1 评论 -
基于vue的canvas画图并下载到本地
canvas画图的基本步骤html创建一个canvas标签画布<div class="contain"> <canvas id="myCanvas" width="444" height="500" ref="myCanvas"></canvas> </div>canvas的宽高一定要写,因为你不设置他会有一个默认的宽高30...原创 2019-08-20 15:30:02 · 4284 阅读 · 0 评论 -
Jquery.Validate通过正则表达式自定义验证规则
/** * 手机 * */$.validator.addMethod("isMobile", function (value, element) { var reg = /^((1[3-8][0-9])+\d{8})$/; return this.optional(element) || (reg.test(value));}, "手机格式不正确");/** * 号码...原创 2018-08-15 16:27:46 · 709 阅读 · 0 评论 -
数组的操作汇总
数组的操作汇总//数组去重var arr = ["hello","jiangqing","apple","banana","jiangqing","apple"];//es6var newArr2 = arr.filter((item,index,self)=>{ return self.indexOf(item) == index;});console.log(newArr2);原创 2018-01-10 17:16:08 · 164 阅读 · 0 评论 -
迭代方法替代for循环
一、Map 对数组中的每一项运动给定函数,返回每次函数调用的结果组成数组。let arr=[1,2,3,4,5,6];/*item为当前遍历到的项,和arr[i]一样*/arr=arr.map(item=>{return item*2});//[2,4,6,8,10]二、filter 对数组中的每一项运动给定函数,返回函数会返回true的项组成的数组—-过滤。let arr=[1,2,3原创 2017-12-08 16:27:39 · 1502 阅读 · 0 评论