
javascript
文章平均质量分 56
qq_1467372784
这个作者很懒,什么都没留下…
展开
-
js获取 字符串某个字符长度
getCharNum(str,c){ var regex = new RegExp(c, 'g'); // 使用g表示bai整个字符串都要匹配 var result = str.match(regex); return !duresult ? 0 : result.length; }...原创 2020-07-02 15:10:08 · 518 阅读 · 0 评论 -
移动端 h5 滚动选择框
<template> <div class="pickerFild"> <div class="btn" @click="$emit('callback',list[cache_current])">确定</div> <div class="_current"></div> <div @scroll.prevent @touchstart="touch_start"原创 2020-06-29 16:08:47 · 1226 阅读 · 0 评论 -
es6轮播图 无缝轮播
class swiper { constructor(options) { // swiper容器 this.el = document.getElementById(options.el); // swiper容器 if(!this.el) return console.error("null"); // swiper容器 滚动内容主体 this.swiperEl = document.getElementById原创 2020-06-15 14:18:10 · 452 阅读 · 0 评论 -
js二叉树
class Node { constructor(key) { this.key = key;// 节点值 this.left = null;// 左指针 this.right = null;// 右指针 }}// 二叉树export default class BinaryTree { constructor() { this.root = null;// 根节点 } insert(key) {// api--插入 const newNode = new Node(ke原创 2020-06-08 09:55:12 · 94 阅读 · 0 评论 -
canvas 根据指定数据结构生成树形图
// import { threadId } from "worker_threads";window.cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame;window.requestAnimationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozR原创 2020-06-08 09:54:48 · 651 阅读 · 0 评论 -
php 微信服务号登录授权
<?php 'weixin_api' => [ 'url' => 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code', 'get_access_url' => 'https://api.weixin.qq.com/cgi-bin..原创 2020-06-08 09:54:30 · 227 阅读 · 0 评论 -
js 获取两个数组的交集,并集,补集,差集
//es5const arr1 = [1,2,3,4,5], arr2 = [5,6,7,8,9]; // 交集let intersection = arr1.filter(function (val) { return arr2.indexOf(val) > -1 }) // 并集let union = arr1.concat(arr2.filter(function (val) { return !(arr1.indexOf(val) > -1) })) //原创 2020-06-08 09:54:05 · 358 阅读 · 0 评论 -
js数据类型有哪些
Array, Boolean, Date, Error, Function, Number, Object, RegExp, String原创 2020-06-08 09:53:39 · 125 阅读 · 0 评论 -
js柯里化
// 实现一个add方法,使计算结果能够满足如下预期:add(1)(2)(3) = 6;add(1, 2, 3)(4) = 10;add(1)(2)(3)(4)(5) = 15;function add() { // 第一次执行时,定义一个数组专门用来存储所有的参数 var _args = Array.prototype.slice.call(arguments); // 在内部声明一个函数,利用闭包的特性保存_args并收集所有的参数值 var _adder = f原创 2020-06-08 09:52:54 · 329 阅读 · 0 评论 -
canvas 把图片放到画布上
ctx_drawImage(ctx, img, x, y, width, height) { var image = new Image(); image.src = img; image.onload = function () { // 将图片画到canvas上面上去! ctx.drawImage(image, x, y, width, height); };},原创 2020-06-08 09:52:35 · 1914 阅读 · 0 评论 -
js获取图片大小
previewImg(imgFile) { return new Promise(function (resolve, reject) { var image = new Image(); image.src = imgFile; image.onload = function () { resolve({ width: image.width, height: image.height }); }; });}原创 2020-06-08 09:52:15 · 173 阅读 · 0 评论 -
微信服务号 微信支付 前端加后端处理逻辑
public function index(Request $request){ $openid = $this->user_data['openid']; // 数据库获取当前登录者openid; $order_sn = $request->param('order_sn'); //获取订单号 $ordersmsg = Db::name('order')->where(['order_sn'=>$order_sn])->fi原创 2020-06-08 09:51:54 · 240 阅读 · 0 评论 -
canvas 绘制文字
ctx_fillText(ctx, text, x, y, fontSize = 18, fillStyle = "#ff0", fontWeight = "normal") { // 设置字体 ctx.font = `normal normal ${fontWeight} ${fontSize}px 黑体`; // 设置颜色 ctx.fillStyle = fillStyle; // 设置水平对齐方式 ctx.textAlign = "left"; // 设置垂直对齐方式 ctx.text原创 2020-06-08 09:51:24 · 327 阅读 · 0 评论 -
js加载字体文件 并等待字体文件加载完成
async loadFonts() { console.log(location.href.split("#")[0] + "static/font/font_84.ttf"); const font = new FontFace( "font84", "url(" + location.href.split("#")[0] + "static/font/font_84.ttf" + ")" ); await font.load(); document.fonts.add(font);原创 2020-06-08 09:50:57 · 4038 阅读 · 0 评论 -
解决ios微信端失焦键盘隐藏后,被顶起的页面不回弹问题
/// jquery$('input,textarea').on('blur', function() { var ua = navigator.userAgent.toLowerCase(); if(/micromessenger/.test(ua)) { if(/iphone|ipad|ipod/.test(ua)) { var currentPosition, timer; var speed = 1;原创 2020-06-08 09:50:21 · 1204 阅读 · 0 评论 -
VUE 弹层阻止后方弹层滚动
@touchmove.prevent @scroll.prevent原创 2020-06-08 09:49:57 · 123 阅读 · 0 评论 -
H5移动端多页面返回上一页刷新数据问题解决
// 打开事件委托if('onpagehide'in window){ //if(window.onpagehide || window.onpagehide === null){ window.addEventListener('pagehide',exitFunction,false) ; } else { window.addEventListener('unload',exitFunction,false); } // 删除window.removeEventListener("p原创 2020-06-08 09:49:20 · 1917 阅读 · 0 评论 -
js防抖与节流
// 防抖function debounce(fn,delay){ let timer = null //借助闭包 return function() { if(timer){ clearTimeout(timer) } timer = setTimeout(fn,delay) // 简化写法 }}// 节流function throttle(fn,delay){ let valid = true原创 2020-06-08 09:48:57 · 86 阅读 · 0 评论 -
js吃豆人
window.cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame;window.requestAnimationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.原创 2020-06-08 09:48:39 · 573 阅读 · 0 评论 -
js 获取图片base64
// 获取图片base64格式 getBase64(file) { return new Promise(function (resolve, reject) { let reader = new FileReader(); let imgResult = ""; reader.readAsDataURL(file); reader.onload = function () { imgResult = reader.result;原创 2020-06-08 09:47:24 · 359 阅读 · 0 评论 -
es6 函数代理 获取绑定过的事件委托
((w) => { w.listenerList = new Set(); const _cache = w.addEventListener; const handler = { apply: (target, thisbinding, args) => { target(); listenerList.add(args[0]); Reflect.apply(_cache, w, args) } } w.addEventListener = new Pro.原创 2020-06-08 09:46:51 · 261 阅读 · 0 评论 -
Js获取近几个月的年月
var date_list = [];//第一个参数传递日期,第二个参数传递num,及要返回最近的年月, 第三个参数传递一个数组用于保存日期,第四个参数固定不变getLastMonthYestdy(new Date(),6, date_list, true);// console.log(date_list);$scope.dateTypeList = date_list;$scope.dateType = $scope.dateTypeList[0]; //获取最近六个月的日期如 ["201原创 2020-06-08 09:46:18 · 467 阅读 · 0 评论 -
js中角度和弧度的计算
弧度 = 角度 * Math.PI / 180角度 = 弧度 * 180 / Math.PItan() 方法可返回一个表示某个角的正切的数字。Math.tan(x)原创 2020-06-08 09:46:01 · 2726 阅读 · 0 评论 -
node 代理
const express = require('express');const proxy = require("http-proxy-middleware");const app = express();const path = require("path") var http = require('http'); var qs = require('querystring'); // User-Agent: Mozilla/5.0 (X11; Linux x86_64)原创 2020-06-08 09:45:35 · 218 阅读 · 0 评论 -
js 角度计算
getAngle({ startX, startY, moveX, moveY }) {//获得人物中心和鼠标坐标连线,与y轴正半轴之间的夹角 let px = startX let py = startY let mx = moveX let my = moveY var x = Math.abs(px - mx); var y = Math.abs(py - my); var z = Math.原创 2020-06-08 09:45:05 · 1794 阅读 · 0 评论 -
js prototype 和 __prop__ 区别
function Person() {}var person = new Person();console.log(person.__proto__ === Person.prototype); // trueconsole.log(Person === Person.prototype.constructor); // true // 顺便学习一个ES5的方法,可以获得对象的原型console.log(Object.getPrototypeOf(person) === Person.proto原创 2020-06-08 09:44:45 · 476 阅读 · 0 评论 -
获取某一天零点时间戳
export const zero_point_time_stamp = function (date) { return new Date(new Date(new Date(date).toLocaleDateString())).getTime()}// 24天凌晨时间戳zero_point_time_stamp(new Date().getTime() - 24 * 60 * 60 * 1000)原创 2020-06-08 09:44:13 · 1129 阅读 · 0 评论 -
判断数据类型
// 判断是否为数组export function isArrayFn(o) { // Arguments, Array, Boolean, Date, Error, Function, JSON, Math, Number, Object, RegExp, String. return Object.prototype.toString.call(o) === '[object Array]';}原创 2020-06-08 09:43:23 · 95 阅读 · 0 评论 -
获取两时间相差天数
export const GetDateDiff = function (startDate, endDate) { var startTime = startDate.getTime(); var endTime = endDate.getTime(); var dates = Math.abs((startTime - endTime)) / (1000 * 60 * 60 * 24); return dates;}原创 2020-06-08 09:43:03 · 129 阅读 · 0 评论 -
js文件下载
export function format_input_paramt(params) { let option = [] Object.keys(params).forEach(function (name) { option.push({ type: 'hidden', name, value: params[name] }) }); return option;}原创 2020-06-08 09:42:41 · 107 阅读 · 0 评论 -
javascript 加减乘除
export const calc = {/* 函数,加法函数,用来得到精确的加法结果 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。 参数:arg1:第一个加数;arg2第二个加数;d要保留的小数位数(可以不传此参数,如果不传则不处理小数位数) 调用:Calc.Add(arg1,arg2,d) 返回值:两数相加的结果 */Add: function (arg1, arg2) {arg原创 2020-06-08 09:42:10 · 258 阅读 · 0 评论 -
canvas 随机生成点并漂移
/** * Created by troyxu on 16/12/6. */var Dots = function (speed, alpha) { // 画布相关 this.canvas; this.ctx; // 绘制点相关 this.x; this.y; this.r; this.a = alpha && alpha > 0 && alpha <= 1 ? alpha : .8; // 移动相关 this.speed = spe原创 2020-06-08 09:41:48 · 555 阅读 · 1 评论 -
js 滚动条 兼容移动端,pc端
export default class ttScrollBar { constructor(options) { // container, //要加滚动条的对象,(注意该对象的高度是否真实准确) // rollScale // 滚动速度 // scrollDValue: 0 //滚动的差值,上下凹圆的尺寸和 this.options = { ...ttScrollBar.options, ...options }; //获取配置参数原创 2020-06-08 09:41:07 · 479 阅读 · 0 评论 -
js控制接口请求次数
import request from '@/utils/request'import poxyArray from "./poxyArray"import { Message } from 'element-ui'let UUID = [];let EXECUTE = new poxyArray();let EXECUTESTATE = false;let delay = 1000;function queryParams(data, isPrefix) { isPrefix = isP原创 2020-06-08 09:40:35 · 1299 阅读 · 0 评论 -
js函数绑定作用域兼容写法
function polyfillBind(fn, ctx) { function boundFn(a) { var l = arguments.length; return l ? l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a) : fn.call(ctx) } boundFn._length = fn.length; return boundFn}function nativeBind(fn,原创 2020-06-08 09:50:35 · 279 阅读 · 0 评论 -
js 深层判断两条数据是否完全一样 及 根据数组和值获取对应的key
function isObject(obj) { return obj !== null && typeof obj === 'object'}function looseEqual(a, b) { if (a === b) { return true } var isObjectA = isObject(a); var isObjectB = isObject(b); if (isObjectA && isObjectB) { try { var原创 2020-06-05 17:58:21 · 259 阅读 · 0 评论 -
js判断运行环境
// Browser environment sniffingvar inBrowser = typeof window !== 'undefined';var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();var UA = inBro.原创 2020-06-05 17:53:10 · 266 阅读 · 0 评论 -
js 对set 方法的兼容写法
/* istanbul ignore next */function isNative(Ctor) { return typeof Ctor === 'function' && /native code/.test(Ctor.toString())}var hasSymbol = typeof Symbol !== 'undefined' && isNative(Symbol) && typeof Reflect !== 'un原创 2020-06-05 17:35:40 · 719 阅读 · 0 评论 -
js 深度合并对象
/** * 如果target(也就是FirstOBJ[key])存在, * 且是对象的话再去调用deepObjectMerge, * 否则就是FirstOBJ[key]里面没这个对象,需要与SecondOBJ[key]合并 */function deepObjectMerge(FirstOBJ, SecondOBJ) { // 深度合并对象 for (var key in SecondOBJ) { FirstOBJ[key] = FirstOBJ[key] &&am原创 2020-06-05 17:33:10 · 551 阅读 · 1 评论 -
canvas 海报
<script> import {Qrcode} from 'vux' import call from '../../assets/img/index/btn-call.png' import poster from '../../assets/img/index/btn-poster.png' import shop from '../../assets/img/index/btn-shop.png' import wx from '../../assets/img/in原创 2020-06-05 17:31:56 · 140 阅读 · 0 评论