js
文章平均质量分 52
静默思想
初次加入,多多包涵
展开
-
vue实现全选/单选
//未开票单选selectedTap(item, index) { if (typeof item.isChecked == 'undefined') { this.$set(item, 'isChecked', true); } else { item.isChecked = !item.isChecked; } let maxlen = this.notinvoicedList.length; let count = 0; this.notinvoicedLi.原创 2021-01-18 16:56:38 · 519 阅读 · 0 评论 -
字符串截取
function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); //正则匹配 var r = window.location.search.substr(1).match(reg); if (r !=...原创 2020-04-22 22:06:22 · 465 阅读 · 0 评论 -
2020 面试要记
1.防抖与节流防抖是什么? 触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间实现方式:每次触发事件时设置一个延迟调用方法,并且取消之前的延时调用方法缺点:如果事件在规定的时间间隔内被不断的触发,则调用方法会被不断的延迟方法//防抖debounce代码:function debounce(fn) { let timeout = null; // ...原创 2020-04-09 22:31:27 · 215 阅读 · 0 评论 -
vue
1、说说你对 SPA 单页面的理解,它的优缺点分别是什么?SPA( single-page application )仅在 Web 页面初始化时加载相应的 HTML、JavaScript 和 CSS。一旦页面加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转;取而代之的是利用路由机制实现 HTML 内容的变换,UI 与用户的交互,避免页面的重新加载。优点:用户体验好、快,内...原创 2019-10-20 21:55:54 · 392 阅读 · 0 评论 -
react
React 面试题以下是面试官最有可能问到的 50 个 React 面试题和答案。为方便你学习,我对它们进行了分类:基本知识 React 组件 React Redux React 路由基本知识1. 区分Real DOM和Virtual DOMReal DOM更新缓慢。 可以直接更新 HTML。 如果元素更新,则创建新DOM。 DOM操作代价很高。 消耗的内存较多...原创 2019-10-20 21:36:39 · 331 阅读 · 0 评论 -
react相关知识
react的单项数据流:单向数据流过程:简单的单向数据流(unidirectional data flow)是指用户访问View,View发出用户交互的Action,在Action里对state进行相应更新。state更新后会触发View更新页面的过程。这样数据总是清晰的单向进行流动,便于维护并且可以预测。优点:1. 所有状态的改变可记录、可跟踪,源头易追溯;2. 所有数据只有一份,组...原创 2019-10-20 20:52:44 · 124 阅读 · 0 评论 -
requestAnimationFram优势
https://juejin.im/post/5c27105af265da61285a332f利用seTimeout实现的动画在某些低端机上会出现卡顿、抖动的现象。 这种现象的产生有两个原因:setTimeout的执行时间并不是确定的。在Javascript中, setTimeout 任务被放进了异步队列中,只有当主线程上的任务执行完以后,才会去检查该队列里的任务是否需要开始执行,因此 s...原创 2019-10-16 20:32:29 · 1856 阅读 · 0 评论 -
vue生命周期钩子函数
vue探索 ————八大周期钩子函数首先是官方文档上的图解 下面是执行顺序1,beforeCreate():此钩子函数发生在实例创建之前,此时data,el,methods未初始化,观测数据和事件初始化完成,2,created():此钩子函数data,methods数据初始化;el未初始化3,beforemount():此钩子函数内就运用了dom虚拟技术 即是先占位置 数据不更...原创 2019-10-13 22:50:10 · 178 阅读 · 0 评论 -
Create-react-app+Antd+Less 在项目yarn eject 的情况下进行配置
暴露所有内建的配置(注:我这里用的是yarn)yarn eject注:如果yarn eject 报错的解决的方法git add .git commit -m 'aa'yarn eject 使用babel-plugin-import实现Antd按需加载,并修改package.jsonyarn add babel-plugin-import --save-d...原创 2018-12-13 17:32:39 · 381 阅读 · 0 评论 -
React 的弹框实现(类 Antd 的 append 到 body)
Modal, PopUP, Toast, ToolTip 等这些都属于弹框。平时我们使用弹框一般有两种方式:一种是通过函数形式弹出,另一种是组件形式弹框。下面我分别对两种弹出方式写了2个 Demo,如果有可以优化的地方,请多多指点。。。函数形式弹出// mask.jsimport React from 'react';import {Button} from 'antd';imp...转载 2018-11-30 12:11:02 · 1627 阅读 · 0 评论 -
稀疏数组
稀疏数组就是包含从0开始的不连续索引的数组。通常,数组的length属性值代表数组中元素的个数。如果数组是稀疏的,length属性值大于元素的个数。可以用Array()构造函数或简单地指定数组的索引值大于当前的数组长度来创建稀疏数组。a = new Array(5); //数组没有元素,但是a.length是5a = []; //创建一个空数组,length = 0a[1000...原创 2018-10-22 13:41:07 · 769 阅读 · 0 评论 -
arcTo画边框圆角
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <!-- <meta name="viewport" content="width=device-width, initial-scale=1.0"原创 2018-10-15 12:20:36 · 305 阅读 · 0 评论 -
js倒计时
var tt = setInterval(function () { dateDown(timeCalc(toTime)) //定义倒计时的结束时间,注意格式 }, 50); //定义计时器,每隔1000毫秒 也就是1秒 计算并更新 div的显示 var cha; var toTime = new Date('2018/05/13 00:00:00'); ////...原创 2018-09-17 16:59:50 · 251 阅读 · 0 评论 -
小程序表单验证
// 判定输入为非空字符 formSubmit: function (e) { var that = this; var phone = e.detail.value.phone; var vip = e.detail.value.vip; var reg = new RegExp('^(13[0-9]|15[0-9]|17[0-9]|18[0-9])\\d...原创 2018-08-20 12:26:27 · 1176 阅读 · 0 评论 -
小程序日历 实现前端展示三个月 上下箭头切换效果
点击选中日期 开始时间和结束时间 类似于酒店入住wxll<view class='wraper'> <view class="list"> <view class="close" catchtap="closetap">X</view> <view class="dateChoose">选择日期<...原创 2019-08-29 11:30:32 · 1222 阅读 · 0 评论 -
JS 瀑布流
第一步 创建模板首先你的想好,你想要创建几列,然后在body中创建好模板<div id="box"> <ul></ul> <ul></ul> <ul></ul> <ul></ul><原创 2018-08-07 19:17:43 · 200 阅读 · 0 评论 -
使用antd按需加载
使用antd按需加载使用react-app-rewired对 create-react-app 的默认配置进行自定义yarn add react-app-rewired --dev/* package.json */"scripts": {- "start": "react-scripts start",+ "start": "react-app-rewired star...原创 2018-12-13 18:40:44 · 1840 阅读 · 0 评论 -
小程序getCurrentPages
收货地址address.jsselectAddress(event) { try { wx.setStorageSync('addressId', event.currentTarget.dataset.addressId); wx.setStorageSync('index', event.currentTarget.dataset.index); ...原创 2019-03-19 11:13:53 · 2210 阅读 · 0 评论 -
jsA页面传值 B页面拿取值
法一:A页面:var loc = location.href; var n1 = loc.length;//地址的总长度 var n2 = loc.indexOf("=");//取得=号的位置 var id = decodeURI(loc.substr(n2+1, n1-n2));//从=号后面的内容 alert(id);B页面:location.href="...原创 2019-05-10 11:58:42 · 351 阅读 · 0 评论 -
小程序列表倒计时
适合拼团用的倒计时:通过后端传过来的数据,前端进行处理转换js:data:{ pinkEntityList :[]}getpink:function(){ let that = this; util.request(api.GoodPink, { id: that.data.id}).then(function (res) { //拼团接口 consol...原创 2019-05-27 18:22:00 · 643 阅读 · 0 评论 -
前台页面 弹窗去除域名显示
window.alert = function alertw(name) { var iframe = document.createElement("IFRAME"); iframe.style.display = "none"; iframe.setAttribute("src", 'data:text/plain,'); document.d...原创 2019-05-30 18:16:09 · 435 阅读 · 0 评论 -
小程序全面屏底部按钮适配
如果你的小程序页面按钮有用fixed定位到底部的话,那你一定会遇到兼容全面屏的坑(与底部横条重叠)。查了下文档,发现能用的就只有一个api:wx.getSystemInfoSync()wx.getSystemInfoSync()封装一个全局的函数代码如下:app.jsonLaunch: function (e) { // 判断设备是否为全面屏 t...原创 2019-05-29 11:50:20 · 4914 阅读 · 0 评论 -
vue 路由跳转传参
正常跳转this.$router.push('/index');1带参 toOrderDetail() { let orderUuid = this.order.uuid; this.$router.push({path: `/orderDetail/${orderUuid}`}); } 路由配置 path: '/orderDetail/:or...原创 2019-09-20 18:03:57 · 201 阅读 · 0 评论 -
vue-devtools的安装与使用
vue-devtools的安装与使用一.在github上下载压缩包,github下载地址:https://github.com/vuejs/vue-devtools二.解压到本地的某盘三.用你的npm中进入该文件夹下四.依次输:1:npm install (如果在这部报错的话,就改用cnpm install。 cnpm需要安装安装地址)2:npm run build...原创 2019-09-25 22:47:19 · 142 阅读 · 0 评论 -
2019 面试题
js中“==”与"==="的区别== 表示相等 (值相等)===表示恒等(类型和值都要相等)js在比较的时候如果是 == 会先做类型转换,再判断值得大小,如果是===类型和值必须都相等js中关于this指向的问题的简单总结1:在全局作用域下 this对象指向的是window对象2:在函数作用域下在非严格模式下: this的指向依旧是window对象在严格模式下:...原创 2019-10-11 17:44:08 · 237 阅读 · 0 评论 -
使用VUE实现textarea固定输入行数与添加下划线样式.
textarea下划线设置一张1*35//行高的图片 , 设置背景图即可. background: url('./img/linebg.png') repeat;border: none;outline: none;overflow: hidden;line-height: 35px;//注意行高要和背景图高度一致resize: none; 固定输入行数需...原创 2018-06-29 15:30:39 · 5566 阅读 · 0 评论 -
Postman教程
简介:Postman是chrome的一款插件,用于做接口请求测试,无论是前端,后台还是测试人员,都可以用postman来测试接口,用起来非常方便。打开之后如下图所示,左边是项目具体的接口,右上上面是请求链接,请求体,右边下面是具体的响应体添加接口:先选择左边的 "colletions",下边有个带”+”的文件夹点击输入项目名称,点击"create"新建项目成功...原创 2018-08-06 18:10:57 · 1140 阅读 · 1 评论 -
时间格式化
var util = require('../../utils/util.js');const app = getApp()Page({data: {aftertime:'',timeD:''},onLoad: function (options) {var stringTime = "2018-08-09 17:40:00";var stringTime...原创 2018-08-10 18:02:36 · 266 阅读 · 0 评论 -
canvas 制作验证码 制作干扰线
一、如何制作干扰线(如图这样简单的干扰线): 定义和用法beginPath() 方法开始一条路径,或重置当前的路径。moveTo() 方法把路径移动到画布的指定点,但不创建图形。lineTo() 方法添加一个新点,然后创建从该点到画布中最后指定点的线条(该方法并不会创建线条)。strokeStyle 属性设置或返回用于笔触的颜色、渐变或模式。stroke() 方法会...原创 2018-05-29 11:50:00 · 761 阅读 · 0 评论 -
js判断Android、iOS或浏览器
第一种:通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端。代码如下:<script type="text/javascript"> var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') >...原创 2018-05-30 16:29:05 · 752 阅读 · 0 评论 -
JS 跑马灯效果实现
html部分<div class="box8"> <div class="t_news"> <ul class="news_li"> <li><a href="javascript:;">苹果8降价</原创 2018-06-07 17:33:28 · 5293 阅读 · 0 评论 -
input输入框
search 类型[javascript] view plain copy<input type="search"/> 在移动端中,需要去掉输入框末尾的叉号,设置以下 css 样式:[css] view plain copyinput[type=search]::-webkit-search-cancel-button{ -webkit-appeara...原创 2018-06-08 10:47:49 · 246 阅读 · 0 评论 -
这可能是vue-cli最全的解析了……
题言:相信很多vue新手,都像我一样,只是知道可以用vue-cli直接生成一个vue项目的架构,并不明白,他究竟是怎么运行的,现在我们一起来研究一下。。。一、安装vue-cli,相信你既然会用到vue-cli,自然node环境是OK的,直接命令行下安装npm install -g vue-cli二、使用vue-cli创建vue项目用法: vue init <temp...原创 2018-06-20 16:29:19 · 301 阅读 · 0 评论 -
初识canvas,使用canvas做一个百分比加载进度的动画
canvas的API较多,这里我们只介绍一下本次使用到的一下API,更多的canvas可以查看这里。beginPath() //重置或者开始当前路径strokeStyle //设置笔触的颜色,即画出来的颜色arc(x,y,r,sangle,eangle,boolean) //画一个圆弧,参数分别是:圆心的x,y轴、...原创 2018-06-20 17:08:28 · 633 阅读 · 0 评论 -
你或许不知道Vue的这些小技巧
组件style的scoped:问题:在组件中用js动态创建的dom,添加样式不生效。场景: <template> <div class="test"></div> </template> <script> let a=document.querySelector('.t...原创 2018-06-29 16:57:09 · 261 阅读 · 0 评论 -
一些冷门的js操作
1.数组类似一些遍历类型的api:forEach、map,可能有人就说了:不就是arr.map(x=>x+1),要是涉及到索引,那就再来个index,arr.map((x,index)=>x+index),多简单是不是 然后,先抛出一个问到烂的面试题: ['1','2','3'].map(parseInt) 找工作的人,看过面试题的,都知道结果是[1,NaN,NaN],那么为什么会...原创 2018-07-18 18:13:27 · 351 阅读 · 0 评论 -
JavaScript 学习之继承
Javascript 的继承的实现方法有很多种,之前虽然学习过,但是没有综合整理过,这一次就来整理整理 Javascript 语言的继承方面的知识。关于详细的Javascript 的继承方面的知识,推荐大家去看那本红宝书 ————《JavaScript高级程序设计》。虽然 ES6 推出了 class 这个概念,方便了我们开发人员的学习和理解,但是,class 只是一个语法糖,实际上底层的实现还...原创 2018-07-18 18:19:51 · 142 阅读 · 0 评论 -
javascript 验证身份证完全版,根据身份证获取性别年龄
1.验证身份证var idcard=function (_v,item) { var area = { 11 : "北京", 12 : "天津", 13 : "河北", 14 : "山西", 15 : "内蒙古...原创 2018-07-19 19:06:27 · 2420 阅读 · 0 评论 -
数组的32个方法
数组的判断 1个方法Array.isArray() 语法:Array.isArray(obj) 参数:需要检查的对象 返回:true,false 开唱:判断数据类型的方法有几个比如使用typeof,instanceof,那么为什么还要有isArray方法呢?首先说说typeof。众所周知,javascript有五个基本数据类型undefined,null,...原创 2018-07-20 16:32:31 · 288 阅读 · 0 评论 -
微信端分享接口
微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力,为微信用户提供更优质的网页体验。 本文介绍微信分享的功能: 一、前台HTML页面使用步骤: 1.绑定域名:在微信公众号平台的...原创 2018-05-23 12:27:00 · 480 阅读 · 0 评论