JavaScript
JavaScript
不懂老爱瞎逼逼
不懂的先学习,回答问题不能老爱瞎逼逼
展开
-
在js中forEach中使用try catch捕获异常
在js中forEach中使用try catch捕获异常原创 2022-12-03 17:33:42 · 1309 阅读 · 1 评论 -
md5前端加密生成秘钥
md5前端加密生成秘钥原创 2022-06-20 11:02:31 · 708 阅读 · 0 评论 -
node项目使用log4js记录日志
一、使用log4js此处用的是6.3.0版本// "log4js": "^6.3.0"npm i log4js@6.3.0二、使用// 生成file的默认配置let log4js = require('log4js');log4js.configure({ appenders: { ruleConsole: {type: 'console'}, ruleFile: { type: 'dateFile', filename:原创 2022-01-24 10:25:50 · 3122 阅读 · 0 评论 -
node.js获取用户IP地址
// 获取客户端ip地址app.get('/ip', function (req, res) { var clientIp = getIp(req) console.log('客户端ip',clientIp) res.json({'youIp':clientIp});})//通过req的hearers来获取客户端ipvar getIp = function(req) { var ip = req.headers['x-real-ip'] || req.headers['x-forwa原创 2021-10-11 10:33:06 · 2362 阅读 · 0 评论 -
a标签技巧
拨打电话<a href="tel:10086">拨打电话给10086小姐姐</a>发送短信<a href="sms:10086">发送短信给10086小姐姐</a>发送邮件 <a href="mailto:young.joway@aliyun.com">发送邮件给JowayYoung</a>打开微信<a href="weixin://">打开微信</a>打开支付宝<a href="原创 2021-09-22 11:00:24 · 160 阅读 · 0 评论 -
meta 标签技巧
忽略自动识别电话<meta name="format-detection" content="telephone=no">忽略自动识别邮箱<meta name="format-detection" content="email=no">忽略自动识别电话和邮箱<meta name="format-detection" content="telephone=no, email=no">禁止页面缩放在智能手机的普及下,很多网站都具备桌面端和移动端两种浏览版本原创 2021-09-22 10:58:11 · 202 阅读 · 0 评论 -
babel在vue项目中使用(vue兼容)
一、vue-cli创建bable1、在用脚手架创建项目时,可以选择bable直接创建一般请路况下是默认配置,直接使用就可以了二、单独引入bable(直接修改package.json)1、我们在创建vue项目时候,没有用脚手架生成bable 在dependencies引入// 引入的插件core-js,//core-js 是 babel-polyfill 的底层依赖,通过各种奇技淫巧,用 ES3 实现了大部分的 ES2017 原生标准库,同时还要严格遵循规范。//core-js 是在pa原创 2021-07-10 08:56:22 · 9849 阅读 · 1 评论 -
JS数组对象去重(4种方法)
方法一:es5冒泡排序法,去重arrvar arr = [{name: 'a',id: 1}, {name: 'a',id: 2}, {name: 'b',id: 3}, {name: 'c',id: 4}, {name: 'c',id: 6}, {name: 'b',id: 6}, {name: 'd',id: 7}];function deWeight() { for (var i = 0; i < arr.length - 1; i++) { for (var j原创 2021-07-06 20:05:22 · 3624 阅读 · 1 评论 -
vue运行报错Cannot read property ‘parseComponent‘ of undefined
今天d原创 2021-06-16 11:24:06 · 3632 阅读 · 4 评论 -
获取微信公众号assecsToken登录(前端篇)
一、前端需要做的工作并不多1、准备工作:获取assecsToken需要用到的appid,secret,微信公众号安全证书、js安全域名和对应服务器1、appid是前端后端都需要的,前端先传给微信服务器。经过微信回调后再由后端传给微信服务器2、secret是在前端传给微信后,并且微信回调返回给后端后,后端用于请求个人信息,例如openid时需要用到的3、js安全域名服务器,这个是一开始就要准备好的,安全域名的根目录下放一份微信公众号安全证书(一个微信公众号内部的txt文件,不要改名字)。放入后自原创 2021-05-29 16:34:09 · 799 阅读 · 0 评论 -
Content-Type引起axios请求数据类型格式不为json
一、刚创建一个vue新项目,使用axios做网络请求1、返回值。2、请求数据二 、根据返回值来说,ajax请求没啥问题,那肯定是数据问题。1、仔细观察数据发现,数据类似json格式,但又不是json格式,因为formData后面有一个冒号’:‘,很显然,我们上传的数据是没问题的,...原创 2021-05-25 09:27:00 · 1012 阅读 · 0 评论 -
vue手写签名(移动端竖屏),拿来即用,可转为横屏
一、vue手写签名(竖版)<template> <div class="canvas"> <div class="canvas_header">手写签名</div> <div class="canvas_canvas"> <canvas id="myCanvas" width="350" height="400"></canvas> </div> <div原创 2021-04-08 10:02:04 · 2611 阅读 · 6 评论 -
js点击复制文本到粘贴板(vue可用,兼容ios)
在移动端,为了方便客户查询订单号和运单号,需要点击复制文本到粘贴板功能。收罗了很多知识点,总结了两种方法js自带execCommand方法可以做复制第一种,利用input,先创建一个input,选取复制后,再销毁//点击按钮,这是vue<div @click="copy(i.goods_oid)"> <span>订单号(复制):</span><span>{{ i.goods_oid }}</span></div>j原创 2021-02-27 11:33:56 · 674 阅读 · 0 评论 -
vue 引入jq并封装为回调执行函数(小程序请求封装类似)
一、引入jquery//安装jqnpm i jquery --save//在package.json同级下创建vue.config.js用于配置jq文档// 引入jq需要加入以下代码const webpack = require('webpack')module.exports = { chainWebpack: config => { config.plugin('provide').use(webpack.ProvidePlugin, [{原创 2021-02-27 11:32:45 · 445 阅读 · 0 评论 -
js多维树状对象转数组
最近在修改老代码时候,遇到的对象转需要转数组问题,老代码是一个亦form表单传值的老的php项目,需要做一些现代化的操作而进行修改dataArr数据如下图所示,红色箭头表示循环的每一个item,绿色箭头表示每个item下面的子级,里面嵌套了很多个结构和item相同的对象从两个红色框和两个蓝色框对比可得知,父级与子级的结构是完全一样的这是一个典型的不知道几级的多维树状结构对象,我们接下来需要将它转成数组以下是js函数,上面图片就是dataArr,不要再问了 var newArr = ob原创 2021-02-27 11:04:40 · 609 阅读 · 0 评论 -
原生JS递归生成树状图,且映射到dom上
由于是老项目,且php嵌套的项目,没有插件,只能原生,不知道有多少个children,所以就想到了递归。一、数据大概就是这个样子二、JS递归生成树状图 var dataRes = {数据}; // var dataRes =<?php print_r($output['oRes']) ?>; // console.log(dataRes, '电商') $(function() { getData(dataRes); $('#diansh原创 2021-01-25 00:42:04 · 658 阅读 · 0 评论 -
vue使用qrcode-decoder解析识别二维码
//使用npm安装qrcode-decodernpm install qrcode-decoder --registry=https://registry.npm.taobao.orgjs封装// 引入qrcode-decoderimport QrCode from 'qrcode-decoder'// 传入file对象,返回promiseexport function getQrUrl(file) { //使用这个方法或者下面被注释的方法设置浏览器读取文件方式,chrome和ie有效,其转载 2020-12-22 09:20:33 · 7811 阅读 · 10 评论 -
vue移动端电影排片轮播(仿淘票票、猫眼)
公司小程序要改成移动端html5,网上找了很久都没有合适的,ui一直是vant ui,element中的跑马灯card效果不好,不能滑动。也用过swipe ui组件,不太好操作,最后还是在vant上下功夫了效果图![在这里插入图片描述](https://img-blog.csdnimg.cn/20201130114542443.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9原创 2020-11-30 11:51:22 · 2488 阅读 · 0 评论 -
js一维数组转二维数组(生成二维数组)
111原创 2020-09-29 12:28:25 · 4678 阅读 · 0 评论 -
获取iframe内嵌html内容(wangEditor富文本编辑器)
写这篇文章的原因是在未使用vue脚手架的情况下使用vue时,wangEditor不能正常渲染和使用,不能大改的情况下,想到的次级的解决方案1、在未使用vue脚手架的情况下使用vue,且引入wangEditor富文本编辑器下面图片是正常的显示,我遇到的是鼠标移动到编辑框无反应,不会弹出h1h2h3h4标签,不知道是vue原因还是因为富文本原因导致页面无法渲染官方也没给具体解决方案,试过很多方法,最后想到的是将富文本放到一个单页面,因为没有使用脚手架,所有的都是单页面,那就直接iframe引入一个原创 2020-09-09 09:18:19 · 2469 阅读 · 0 评论 -
gitee或github上传下载文件
gitee上传下载代码命令在想要下载的文件夹下,鼠标右键,git bash1、输入git init 进行初始化2、git remote add origin https://gitee.com/XXXXXXXXXXXXXX/XXXX3、添加上传文件夹 git add . //整个文件夹都上传4、git commit - m ‘上传备注’ //提交代码5、git pull origin master //将代码下载到本地6、git push origin master //原创 2020-07-29 14:03:52 · 1826 阅读 · 0 评论 -
h5页面中或app实时刷新:节流和防抖
一、在应用程序或者前端页面中有时候会用到实时交互,经常用到两个用于刷新页面的二、节流(throttle):1、不停的执行一个操作,在指定的时间间隔内不会重复执行处理函数,当持续触发事件时,保证一定时间内只调用一次处理函数,意思是:假设用户一直触发这个函数,且每次触发时间间隔小于设定的值,在这个时间间隔内只调用一次function throttle(fn, delay) { let valid = true; return function () { if (!valid原创 2020-07-12 17:09:56 · 982 阅读 · 0 评论 -
使用HBuilder打包apk遇到的问题
这两天写了个优惠券的小程序,想封装成apk,经过一番面向百度封装,谈一下封装的收获。一、封装用的工具Hbuild因为对安卓编程不太了解,所幸得到了这个傻瓜式的封装工具。二、配置过程:1、先用Hbuild创建一个“ 5+AP(a)”项目。具体如下2、配置项目:如果是静态页面。可以直接将所有的文件拷贝到项目文件夹。然后点击项目中的 manifest.json 文件,会出现右侧配置界面。A、基础配置:AppId是随机生成的;应用名字自己填写;应用入口默认为index.ht.原创 2020-06-27 16:50:07 · 6200 阅读 · 8 评论 -
js本地存储之 localStorage
本地存储localStorage一.简介localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库 ——注意:在IE8以上的IE版本才支持localStorage这个属性。localStorage属于永久性存储,如果存储内容多的话会消耗内存空间,会导致页面变卡。二.具体使用方式如下:1.localStorage - 没有时间限制的数据存储var arr=[1,2,3]; localStorage.setItem(“temp”,arr)转载 2020-06-15 17:21:23 · 344 阅读 · 0 评论 -
vue页面之间的传参
vue.cli是一个很好用的vue脚手架,由于其页面是由多个组件组成,传参问题也是vue项目中的非常重要的问题,以下是利用router方式传参的方法。一、vue传参方法:在vue实例内部,我们可以通过$router来访问路由实例。1、声明式:直接在html页面中创建链接,利用链接进行传参<router-link :to="跳转地址(可以携带参数)">//"router-link"在vue中是相当于a标签的存在</router-link>传参实例://向页面"nam原创 2020-06-15 17:11:15 · 797 阅读 · 0 评论 -
vue-cli脚手架卡在 ‘98%’ after emitting CopyPlugin 报错,无法运行
在跑项目中突然发现一个特殊的问题,每当运行时会有几率出现‘98%’ after emitting CopyPlugin 这行代码我在网上搜罗了一遍,大致得到以下解决方案: 1.替换npm使用yarn或cnpm; 2.升级webpack到v4.28.4及以上; 3.重新进行npm install; 4.一个路由一个路由的排查,找到问题;最后发现123项,几乎没有什么用处,毕竟脚手架都是用taobao新装的,框架什么的也都没有落下。而第4项排查又太麻烦,这时候我们可以查看一原创 2020-06-09 08:53:56 · 16915 阅读 · 3 评论 -
getElementById和getElementByTagName的区别
在原生js中获取元素的方法有很多,那么今天就重点说一下getElementById和getElementByTagName的区别:1、getElementById前面必须是document;而getElementByTagName前面除了是document也可以是其他的元素;先来看一下简单的html代码<ul> <li></li> <l...原创 2020-05-01 16:48:56 · 1302 阅读 · 0 评论 -
JavaScript轻松实现滑动门
很多小伙伴想做滑动门的时候没有思路,今天就分享一个案例:下面这个div需要做滑动门效果 <div class="cont"> <ul> <li name="ulli" class="active">按钮1</li> <li name="ulli" >按钮2</li...原创 2020-04-03 00:51:18 · 226 阅读 · 0 评论 -
JS里的鼠标事件
利用下面这个div标签来做鼠标事件的演示,当把鼠标在‘我是div’和’我是span‘两个位置及其之外的位置上操作时,不同事件操作结果不同<div class="div1">我是div <br> <span>我是span</span></div>1、左键单击事件 click var oDiv = document.qu...原创 2020-03-31 23:43:22 · 191 阅读 · 0 评论 -
JavaScript中DOM操作获取标签内容
一、通过id属性值获取标签对象(只能获取一个标签对象)document.getElementById(‘id属性值’) //获取标签页中id为div1的标签对象 var oDiv1 = document.getElementById('div1'); //输出为id为id为div1的标签内容 console.log(oDiv1);二、通过class属性值获取...原创 2020-03-29 01:39:09 · 1334 阅读 · 0 评论 -
JavaScript中的BOM操作的常见事件
BOM操作的常见事件1、点击事件clcikonclcik绑定点击标签ID.onclick = function(){程序;}示例1、 d1.onclick = function(){ console.log('我是div,有人点我'); }示例2、 function fun(){ co...原创 2020-03-28 01:48:45 · 695 阅读 · 0 评论 -
JavaScript的数组去重
一、indexOf() var arr = [1,2,2,3,5,3,1,5,4,3,4,5,6]; //定义一个新数组 var arr2 = setNewArr(arr); console.log(arr2); //执行去除重复数据的数组 function setNewArr(arr){ //定义一个新数组 var ...原创 2020-03-23 23:08:58 · 92 阅读 · 0 评论 -
JS中的冒泡和选择排序
一、冒泡排序:相邻单位数据比较,从大到小排列,多次执行,完成排序var arr = [3,44,38,5,47,25,36,2,79,8,1];//定义循环次数,之前比较出的数值,不参与下一次的比较for(var j = 0; j <= (arr.lenght-1) - 1 ;j++){ //上一次比较出的数值,不参与下一次循环 for(var i = 0;i<...原创 2020-03-22 09:58:35 · 125 阅读 · 0 评论 -
JavaScript中的数组应用
一、数组:定义:数据的集合,可以存储多个单元的数据数组中的数据单元,可以是任意形式的数据内容(数组,对象,函数)1、字面量:var 变量 == [数据1,数据2,数据3,.....];在[]中括号中各个数据用逗号隔开,2、数组的嵌套:var 变量 == [数据1,数据2,数据3,[数据1,数据2,数据3,.....],[数据1,数据2,数据3,.....],[数据1,数据2,数据3...原创 2020-03-18 23:33:48 · 274 阅读 · 0 评论 -
JS中return的使用
一、return 作用 :1、定义返回值 var res1 = 0; function add(a){ return res1; } console.log(res1)注:此时return定义的是返回值,2、定义终止函数程序的执行一般是处理容错时使用,一般都是定义在if判断中返回值是报错信息3、定义返回值return是函数执行运算等的结果return 的是存储结果的...原创 2020-03-18 22:45:08 · 1667 阅读 · 0 评论 -
JavaScript小游戏中的百鸡百钱
JavaScript中的百鸡百钱百鸡百钱:有一百钱,要买一百鸡,公鸡5钱1只,母鸡3钱1只,仔鸡3只1钱,一百钱,买一百鸡,每种鸡都要有。<script> //百鸡百钱 document.write("百鸡百钱") //定义公鸡数量,(100-1-3)/5=19.2 for(var gongji = 1;gongji <= 19; gongji++){ /...原创 2020-03-15 02:28:28 · 174 阅读 · 0 评论