- 博客(37)
- 收藏
- 关注
原创 js 扫码枪功能面向对象封装
1、Scan类创建/** * @description 封装扫码对象 * @param {Object} {onchange: function(code) {}} 回调函数 */class Scan { constructor({ onchange = null }) { this.code = ''; this.lastTime = ''; this.nextTime = ''; this.lastCode = ''; this.nextCode
2020-07-14 10:45:35 653
原创 js防抖和节流
// 防抖_debounce (fn, delay) { var delay1 = delay || 200 var timer return function () { var th = this var args = arguments if (timer) { clearTimeout(timer) } timer = setTimeout(function () { timer = null fn.apply(
2020-06-29 18:00:35 270
原创 js 获取扫码枪输入数据
1、扫码枪相当于键盘输入设备,输入一连串数字后加一个enter键。但在实际开发中需要区分是扫描枪输入还是键盘用户输入,区别在于扫码枪输入很快。 let code = ''; let lastTime, nextTime; let lastCode, nextCode; window.document.onkeypress = (e) => { if (window.event) { // IE nextCode = e.ke
2020-06-08 10:43:23 2543
原创 vue打印功能
1、html<div @click="print"></div><div ref="printContent"> <div style="">要打印的内容</div></div>2、jsprint() { window.document.body.innerHTML = this.$refs.conten...
2020-03-26 16:24:21 339
原创 js中删除两个数组中id相同的对象
let arr1= [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }, { id: 5 }]; let arr2= [{ id: 1 }, { id: 2 }, { id: 3 }]; let idList= arr2.map(item => item.id); arr1= arr1.filter( item => { retur...
2020-01-14 15:16:27 2366
原创 node.js安装和环境配置
1、官网下载node.js,并安装;2、如果安装路径为:D:\nodejs,则在环境变量中新建变量为:NODE_PATH,值为:D:\nodejs\node_modules;3、在D:\nodejs文件夹中新建node_global和node_cache,然后在cmd窗口中执行:npm config set prefix “D:\nodejs\node_global” 回车npm conf...
2019-09-20 10:45:50 174
原创 Object.prototype.toString检测对象类型
let arr = [];let obj = {};function fun(){ }let toString = Object.prototype.toString;// 检测数组类型console.log(toString.call(arr) === '[object Array]'); // true// 检测对象类型console.log(toString.call(ob...
2019-09-19 14:12:30 142
原创 PowerMobile2 表单配置详细说明
配置说明{ "keyword" : "", // 关键词 "keywordType" : "", // BO(关键词类型BO | ViewEntity) "keyField" : "", // 主键, 默认Id "name" : "", // 基础信息(页签名称) "titleField" : "", // 标题字段 "statusField" : "", //主表状态字...
2019-09-18 15:08:46 475
原创 http缓存:强缓存和协商缓存
一、强缓存1、expires:这是http1.0时的规范;它的值为一个绝对时间的GMT格式的时间字符串,如Mon, 10 Jun 2015 21:31:12 GMT,缺点是服务器时间不一定和浏览器同步2、cache-control,常见的设置是max-age public private no-cache no-store二、协商缓存1、Last-Modified/If-Modified-...
2019-09-03 15:09:53 143
原创 js实现继承的方式以及各个方式的优缺点
1、借助构造函数实现继承,缺点是不能继承Parent1的原型对象/** * 借助构造函数实现继承 */function Parent1(){ this.name = "parent1";}function Child1(){ Parent1.call(this); this.type = "child1";}2、借助原型链实现继承,缺点是Parent2的原型对象是共用...
2019-08-30 17:11:51 453
原创 vuex在vue项目中的使用
1、项目目录2、state.jsconst state = { test: ""};export default state;3、getters.jsexport const test = state => state.test;4、mutation-types.jsexport const TEST = "TEST";5、mutations.jsimpo...
2019-08-13 13:56:58 195
原创 vue组件切换动画
1、在html上加入transition,并命名为slide<template> <transition name="slide" appear> <div></div> </transition></template>2、css如下:// 添加入场和离场动画.slide-enter...
2019-08-13 10:38:12 214
原创 js原型链继承
父类的实例等于子类的原型//父类function Person(name){ this.name = name; this.sum = function(){ alert(this.name); }}Person.prototype.age = 10;function Children(){ this.name = "children";}Children.protot...
2019-08-05 11:18:13 166
转载 js call apply实现继承
这样 Class2 就继承Class1了,Class1.call(this) 的 意思就是使用 Class1 对象代替this对象,那么 Class2 中不就有Class1 的所有属性和方法了吗,c2 对象就能够直接调用Class1 的方法以及属性了,执行结果就是:alert(“cc”);function Class1() { this.showTxt = function(txt) ...
2019-08-05 11:01:45 276
原创 vue解决watch对象属性变化监听不到的问题
<template> <div> <p @click="fun1" style="color: blue">方式一</p> <p @click="fun2" style="color: blue">方式二</p> </div></template><script> exp...
2019-08-02 10:23:25 16960
原创 js递归实现深拷贝
function deepClone(source){ const targetObj = source.constructor === Array ? [] : {}; // 判断复制的目标是数组还是对象 for(let keys in source){ // 遍历目标 if(source.hasOwnProperty(keys)){ if(source[keys] ...
2019-07-26 10:58:36 3545
原创 js日期标准转换格式、日期汉字转换格式
1.日期标准转换格式// 自定义时间格式 :format// "yyyy-MM-dd HH:mm:ss";"yyyy-MM-dd-HH-mm-ss"// "yyyy-MM-ddTHH:mm:ss" ....export function formatDate (time, format) { if (!time) { return '' } if (typeof ti...
2019-07-25 16:22:51 2161
原创 vue axios封装
// axios方法封装import axios from "axios";import qs from "qs"function apiUnit (url, params, method="post") { return new Promise ((resolve, reject) => { let option = { method: method, ...
2019-07-25 16:10:12 107
原创 vue transition 动画
1、html<div id="example"> <button @click="show = !show">Toggle show</button> <transition name="bounce"> <p v-if="show">Lorem ipsum dolor sit amet, consectetur adi...
2019-07-19 11:33:09 138
原创 css实现移动端滚动
height: calc(100% - 50px);overflow-y: auto;-webkit-overflow-scrolling: touch;
2019-07-15 10:00:33 2211
原创 vue移动端处理安卓键盘弹起遮挡
this.focusTimer && clearTimeout(this.focusTimer);this.focusTimer = setTimeout(() => { this.$refs.loginForm.scrollIntoView(true);},200);
2019-07-15 09:11:00 3349 2
转载 vue 深度监听
// 监听某个变量watch: { firstName: { handler(newName, oldName) { this.fullName = newName + ' ' + this.lastName; }, // 代表在wacth里立即执行handler方法 immediate: true }}// 监听对象watch: {...
2019-07-08 15:54:03 879
原创 vue父子组件双向绑定
1、在父组件内部:引用子组件的标签上使用 v-model绑定父组件的某个值(如:v-model=“active”,可以不是value);2、 在子组件内部:// 第一处model: { prop: "value", event: "change" },props: { value: { type: Number, default: 0 }}// 第二...
2019-07-08 15:38:31 214
原创 js数组转树形结构
// 列表组装成树形数据算法function buildListToTree (list, parentId="parentId", Id="Id", rootId="00000000-0000-0000-0000-00000000000a") { let arr = [...list]; let rootList = arr.filter((item) => { if ...
2019-06-06 13:50:54 4471
原创 promise封装ajax函数
1、封装// ajax函数将返回Promise对象:function ajax(method, url, data) { var request = new XMLHttpRequest(); return new Promise(function (resolve, reject) { request.onreadystatechange = function...
2019-06-06 13:30:36 512
原创 js 对象的assign拷贝
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。const target = { a: 1, b: 2 };const source = { b: 4, c: 5 };const returnedTarget = Object.assign(target, source);console.log(target);// e...
2019-05-22 11:02:39 493
原创 es6 ... 复制数组
var arr1=['a','b','c','d'];var arr2=['d'];var arr3=['e','f'];var dd=[...arr1,...arr2,...arr3];console.log(dd);//["a", "b", "c", "d", "d", "e", "f"]
2019-05-22 10:54:12 772
原创 js去掉路径和文件后缀名
// path为文件路径let path1 = path.substr(path.lastIndexOf('/')+1); //文件名称,去掉路径let path2 = path1.substring(0,path1.indexOf('.')); //文件名称去掉路径和后缀名
2019-05-21 18:20:18 7500
原创 h5plus
h5plus使用教程调用每个方法之前需先引入以下代码块function plusReady() { }if(window.plus){ plusReady();}else{ document.addEventListener('plusready',plusReady,false);}调取手机摄像头进行拍照function getImage(){ let cmr = ...
2019-04-30 11:04:00 3755
原创 mui+vue实现webapp的手机物理键监听
实现首页按两次返回键退出,其他页面按一次返回上一级1、在main.js:import Mui from 'vue-awesome-mui'; Vue.use(Mui);Vue.prototype.$mui = Mui;2、在App.vue首页:mounted(){ var backcount = 0; this.$mui.back = ()=> { if (this....
2019-04-08 17:27:28 1032
原创 ES6中箭头函数与普通函数this的区别
普通函数中的this:this总是代表它的直接调用者, 例如 obj.func , 那么func中的this就是obj在默认情况,没找到直接调用者, 则this指的是 window在严格模式下,没有直接调用者的函数中的this是 undefined使用call,apply, bind(ES5新增)绑定的, this指的是 绑定的对象箭头函数中的this:默认指向在定义时作用域...
2019-04-04 11:30:17 338
原创 h5plus设置安卓底部虚拟按键背景颜色
function plusReady(){ var main = plus.android.runtimeMainActivity(); var windowMe = main.getWindow(); plus.android.importClass(windowMe); var Color = plus.android.importClass("android.graphics.Col...
2019-04-04 11:03:12 793
原创 npm装包时-S和-D的区别
1、npm install name -save 简写(npm install name -S) 自动把模块和版本号添加到dependencies。-S后,安装包会在package中的 dependencies 对象中。简称dep。dep是在生产环境中要用到的。2、npm install name --save-dev 简写(npm install name -D) 自动把模块和版本号...
2019-04-02 20:09:40 747
原创 Vue.js的优缺点详解
我们为什么要用Vue.js,他解决了什么问题,有什么优势?一、Vue是什么Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API。简而言之:Vue.js是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。核心是一个响应的数据绑定系统。二、Vue的特点和优势1、vue两大特点:响...
2019-03-30 19:55:00 19175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人