javascript
zcy_csdn123
让不懂的人懂,你才真正的懂。
展开
-
H5页面唤起手机数字键盘
H5唤起手机数字键盘转载 2022-06-09 10:35:44 · 3194 阅读 · 0 评论 -
预渲染 prerender-spa-plugin 尝试
背景:想给项目做一些优化,想尝试预渲染和SSR这里说一下SSR使用的技术栈是VUE预渲染使用的是 prerender-spa-plugin 这个包先说一下效果吧这个感觉就是类似高级的骨架屏,不过他是一个真正的页面,只是没有数据,或者数据驱动渲染的一切。使用这个插件 配置好几个预渲染的页面会 在build时提前讲这些页面渲染成浏览器可以直接打开的html文件。这样你在浏览器输入地址后,会直接得到这样一个页面,省去了渲染出页面的时间,因为在打包时这个页面就渲染完了,也就是我们提前预渲染了。不好用原创 2022-04-20 11:45:19 · 1841 阅读 · 1 评论 -
前端安全问题记录
1、浏览器中可以看到源码问题可以在coonfig中配置productionSourceMap:false2、cookie设置问题由后端设置,此时浏览器里查看 HTTPOnly 会出现对号这样无法用JS获取cookie原创 2021-12-27 11:16:18 · 2100 阅读 · 0 评论 -
获取URL中的信息参数
传送门:https://www.jb51.net/article/48942.htm转载 2021-12-07 17:02:17 · 130 阅读 · 0 评论 -
常用正则表达式
链接:https://mp.weixin.qq.com/s/h11xHEPxjy1IPE514IjYyw转载 2021-10-19 15:37:36 · 99 阅读 · 0 评论 -
JS监听页面刷新及阻止页面刷新
有时前端请求后端代码需要等待,但用户不想等待使用刷新,这样会造成一些错误的数据等。当然服务端应该可以控制,不过这里说一些前端的控制思路(仅个人想法)说一下2个思路:1、可以在接口发出去之后,阻止所有刷新页面的行为进行阻止,并给出提示。基本就是通过键盘和鼠标事件2、监听页面的刷新行为 beforOnload 在刷新前记录所请求的内容并做一些处理。以购物为例 提交了一批购物请求 但服务端处理比较慢 可以记住这些物品的ID 在获取列表时前端屏蔽这些未处理完的。具体根据业务想一下。具体代码可以参看考:监原创 2020-12-15 18:15:04 · 6707 阅读 · 0 评论 -
JS正则
聊正则之前说一下了解正则的必要性吧。在做项目的时候发现需要匹配出空格也就“ & n b s p;” 一半方法不好找到 使用正则就比较好找。还有就是金钱格式化,我们可以写一个函数 用到正则时可以 replace(/ \B ( ?= ( \d { 3}) +$) I g ,’,’) 就得到想要的格式了,等等。常用元字符/:一般是指一个匹配的开始. : 单个字符(非换行和行结束符)^:匹配一行的开头$: 匹配一行的结尾\w:单词字符\W: 非单词字符\d:数字\D: 非数组\s:原创 2020-10-27 16:56:23 · 499 阅读 · 0 评论 -
VUE路由中常用的按需加载方式(非VUE也可以使用)
传送门:添加链接描述总结一下1、最基本的require 用法,{ path: '/promisedemo', name: 'PromiseDemo', component: resolve => require(['../components/PromiseDemo'], resolve)}2、webpack 4 中的方法// 下面2行代码,没有指定...原创 2019-12-30 17:20:26 · 298 阅读 · 0 评论 -
import 与 require | export与 export default
传送门:添加链接描述下面写一下自己的理解:1、import 的思想尽量静态化,在编译时就确定依赖关系,require 在运行时加载2、Export// profile.jsexport var a = 1export var b = 2export function func () {}// 另一种写法var a = 1var b = 2function func () {...原创 2019-12-30 17:02:45 · 384 阅读 · 0 评论 -
async await
1、async 是放在function前面的标识 代表这个函数有异步程序(当然内部可以写同步代码),如果内部有返回值,则返回值会被编程promise对象,可以使用.then .catch 等2、await 和 async 一同使用,await 也是一个标识,标识等待这个一步程序,如果是异步也等待。async function asyfunc () { var a await setTim...原创 2019-12-30 14:52:16 · 262 阅读 · 0 评论 -
JS 中错误机制
1、throw 语句如果不进行捕获,会中断当前参考:1、添加链接描述2、添加链接描述原创 2019-12-30 14:16:33 · 135 阅读 · 0 评论 -
js跳出循环 终止循环
https://blog.csdn.net/weixin_29491885/article/details/100159669总结一下for 循环使用breakforEach() 不可以 但可以使用try catch 的方式抛出异常停止循环some() return true转载 2019-12-03 21:47:03 · 621 阅读 · 0 评论 -
js 对象的键名 可以是数字么
https://my.oschina.net/u/3888522/blog/1831525可以的 是不过在使用的时候不可以使用. 需要一obj[]的形式使用转载 2019-12-03 21:17:51 · 4527 阅读 · 0 评论 -
.map()和.filter()以及他们的区别
今天看到朋友写的一个数组对比,用的filter(),于是就想想起map(),都是对内部的元素一个一个去遍历,然后输出,到底有什么区别的。 先说下,jquery也有这两个方法,不过大家都懂得,他们都是对JavaScript进行的封装,我这里只说下JavaScript的。我们说的map()和filter()其实是: Arrpay.prototype.map() 创建一个新的数组,其结果是该数组中每原创 2017-09-04 12:08:03 · 9894 阅读 · 7 评论 -
JS生成随机整数
转自:https://zhidao.baidu.com/question/502324850.html用JS的随机数生成函数random()配合其他数学函数可以限制随机数的取值。JS的随机数函数及相关函数:Math.random(); 结果为0-1间的一个随机数(包括0,不包括1) 。Math.floor(num); 参数num为一个数值,函数结果为num的整数部分。 Math...转载 2018-06-20 15:52:13 · 8749 阅读 · 0 评论 -
vue 中获取屏幕尺寸
data() { return { screenWidth: document.body.clientWidth, // 屏幕尺寸 } },// 钩子函数mounted () { const that = this window.onresize = () => { return (() => ...原创 2018-07-05 16:58:23 · 36147 阅读 · 2 评论 -
HTML CSS 特殊字体图标表
https://www.cnblogs.com/fml1com/p/5149269.html转载 2019-04-10 10:06:39 · 1307 阅读 · 0 评论 -
javascript函数 add(1)(2)(3)(4)
传送门:https://www.cnblogs.com/oxspirt/p/5436629.html从上面文章学到很多,下面写一下自己的理解:看到上面的函数式第一反应就是会用的闭包,因为需要变量一直存在内存中以便继续运算第二个条件就是每次函数调用完需要返回一个函数,这样才能继续无限累加于是按自己的理解写了一下function A (val) { var tmp = 0 ...原创 2019-04-10 18:38:09 · 2581 阅读 · 1 评论 -
JS字符串数字相加
console.log(1+ '11')// 111 stringconsole.log('11'+1)// 111 stringconsole.log(+'11')// 11(数字)console.log(+'11'+1)// 12(数字)原创 2019-04-02 17:30:25 · 19214 阅读 · 0 评论 -
js工具类方法-base64编解码
原文: https://blog.csdn.net/crazy_victor/article/details/84869132// base64 var Base64 = { _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", encode: function (e) { v...转载 2019-05-23 10:53:43 · 686 阅读 · 0 评论 -
浏览器 cookie使用
// 对cookie的用法进行封装const zcyCookie = { // 设置cookie setCookie: function (name, value, exdays, path, domain) { var stExdays = '' var stDomain = '' if (exdays) { var date = new Date(...原创 2019-09-09 16:34:26 · 306 阅读 · 0 评论 -
判断数组中是否有重复的数
var containsDuplicate = function(nums) { let tmpSet = new Set(nums) let newNums = Array.from(tmpSet) if(nums.length == newNums.length) { return false } else { return tr...原创 2019-09-29 18:27:53 · 1926 阅读 · 0 评论 -
前端 自定义浏览器打印内容 LODOP
前排提示:这里需要LODOP插件 并且这插件是收费的 个人可以使用试用版只是打印出来会带默认水印(非LODOP员工,只是提醒)使用原因:有一个需求,就是需要在打印机里按按自己的意愿打印东西,并且每次打印的东西可能有不相同,就是打印可能是时时的,也是通过变量的。http://www.lodop.net/LodopDemo.html 官网地址 里面有详尽的使用方法,有很多实例,必须看一看 基本上看...原创 2019-10-10 15:30:29 · 692 阅读 · 0 评论 -
js/jq 点击按钮显示div,点击页面其他任何地方隐藏div
https://blog.csdn.net/YangBingX/article/details/78644486转载 2018-05-28 18:16:51 · 2968 阅读 · 0 评论 -
JS 处理科学计数法
num = 1.25e-7editE (num) { if (!num) return num num = num.toString() if (num.indexOf('e') === -1) { return num } let reg = /(?:(\d)+(?:.(\d+))?)[e]{1}-(\d)/.exec(num) if (原创 2018-04-16 19:16:05 · 5591 阅读 · 1 评论 -
倒计时页面
倒计基本原理: 其实就是获取两个时间的时间差,然后除1000换算成秒数,除60换算成分,除360换算成小时,除24*360换算成日//这个函数是当前时间距离你选定的日期(函数的参数)相差的时间function leftTime(year, month, day, hour, minute, second) { //计算相差的毫秒数 var leftTime = (new原创 2017-11-10 11:03:43 · 255 阅读 · 0 评论 -
三元运算符适应2种以上的状况
今天在判断性别的时候有三种情况:0未知 1男 2女 之前一直用if的方法去写,觉得有点太麻烦了,想有没有什么简单的方法 第一个就像到了三元是运算符,但是当时我想三元是运算符虽然简单,但不是只支持2中情况的判断么 然后去问了下朋友有什么办法,他说三元运算符,然后他又给我2个字:嵌套。let a = 3let b = a === 1? 'a':(a === 2? 'b': (a ===3?'c'原创 2017-10-10 20:50:20 · 2394 阅读 · 0 评论 -
数组/字符串去重并计算各元素的数量
Array.prototype.unique44 = function(){ var newArr = []; var obj = {} for(var i = 0 ; i<this.length; i++){ if(!obj[this[i]]){ console.log('if')原创 2017-09-22 11:19:56 · 649 阅读 · 0 评论 -
ES6--对象的扩展
属性和方法的简写 属性//ES6function(x, y){ return {x,y}}//原来function(x, y){ return {x:x, y:y}}方法//ES6var obj = { method(){ return "hello" }}//原var obj = { method:function(){原创 2017-09-18 18:15:29 · 404 阅读 · 0 评论 -
ES6--数组的扩展
我是看了http://wiki.jikexueyuan.com/project/es6/array.html写的笔记,中间加了一些自己的理解回顾下 concat() 连接两个或多个数组 join() 将数组的所有元素放入到一个字符串,并通过分隔符分隔 pop() 删除并返回数组的最后一个元素 posh() 从数组尾部添加一个或多个元素,返回新的长度 shift() 删除并返回数组的第一个元原创 2017-09-15 18:29:23 · 258 阅读 · 0 评论 -
ES6--数值的扩展
我是看了http://wiki.jikexueyuan.com/project/es6/number.html写的笔记,中间加了一些自己的理解。老规矩回顾下: foFixed(n) 将数字转为字符串,保留n位小数ES6 刚开始介绍了些什么进制的问题,同样有兴趣看下上面。Number.parseInt() , Number.parseFloat() 大家一看不就会说这不以前就有么,是的,不过ES原创 2017-09-14 19:31:07 · 220 阅读 · 0 评论 -
ES6--变量的解构赋值
解构:ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值。var a = 1;var b = 2;var c = 3;//es6解构赋值var [a, b, c] = [1, 2, 3];从输出中提取值,按照对应的位置,对变量赋值。这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值 看些例子let [foo, [[bar],原创 2017-09-14 15:25:25 · 304 阅读 · 0 评论 -
ES6--字符串的扩展
我是看了http://wiki.jikexueyuan.com/project/es6/string.html写的笔记,中间加了一些自己的理解。gangkaishi 一开始介绍了一些编码之类的东西,看的云里雾里的,也不是很懂,就不写在这里了,有兴趣的朋友可以点上面的连接去看看。写一些我个人工作中会用到的吧。string对象的方法回顾下: charAt(index):现实指定位置的字符 conca原创 2017-09-14 19:08:53 · 362 阅读 · 0 评论 -
ES6--let和cost
let命令let声明变量,用法类似var。 但是所有声明的变量只在let命令所在的代码块内有效。{let a = 1;var b = 2;}a //ReferenceError: a is not defined 语法错误 a 没有定义b //2不存在变量提升function func(){ console.log(bar); console.log(foo);原创 2017-09-14 15:06:50 · 1643 阅读 · 1 评论 -
nodejs将word文档转为html文件(脚本)--获取word文档内容
本来是想写 用nodejs 或者 js 将word文档转为html的脚本, js在IE浏览器下有 new ActiveApplication 对象可以 获取文档 nodejs 获取文档看这篇http://www.jianshu.com/p/68a420a68ded 因为还没时间整理 所以先给大家个链接思路是这样,先获取文档内容, 可以用代码得到内容也就是跟我们通过接口获取服务端的数据一样了,之后原创 2017-10-21 15:50:21 · 12905 阅读 · 2 评论 -
解决js异步问题的方法--async和await(ES7)
异步在给我们解决阻塞的问题时也带来一些别的问题 开发中调用接口经常是异步的,然后不小心就会犯的错误就是接口的数据还没有返回,我们就当作它已经返回了,然后继续处理,当然就会发生错误。 为了避免数据还没返回就继续执行,我们一般会在回掉函数里面继续些,但当层次多的时候不免会越来越乱,可读性别差 ES6引入promise函数处理异步问题,比之前好多了,但也并没有达到像写同步一样,ES7的两个新东西解决原创 2017-11-04 15:28:12 · 1708 阅读 · 0 评论 -
jquery实现图片上传前本地预览功能
http://www.jb51.net/article/83894.htm说下我想的原理吧: 1、input 提交文件 2、暂时存于某个位置 3、从之前存的位置获取图片,并且展示(src里面填路径就好了)其实关键是第二步,这个一步存有很多方法,可以存本地,也可以服务端写个接口处理这个,还有就是用第三方。https://developer.mozilla.org/zh-CN/docs/Web/A原创 2017-12-08 17:26:50 · 213 阅读 · 0 评论 -
锚点
锚点就是可以快速跳到页面的某个地方 基本方法就是 给标签设置好Name 或者Id 或者两者都有,然后在URL后面加上#AAA这样的跳到那部分。 主要说一下 scrollIntoView()这个方法 用法大致为document.getElementById(‘#AAA’).scrollIntoView() 就可以跳到相应的地方原创 2018-04-15 12:55:12 · 163 阅读 · 0 评论 -
javaScript 精度丢失问题
var a = 0.1 + 0.2console.log(a) // 0.300000000000000004上面例子就是常见的JS精度丢失问题。了解一下原因看了些资料,用自己话说一下 大概的意思就是,数字计算的时候JS 遵循 IEEE 754 规范,采用双精度存储(double precision) 然而0.1转为二进制的时候会是一个无限循环数,此时会采取四舍五入,因为是二进制,所以0舍1入原创 2018-02-23 15:28:59 · 961 阅读 · 0 评论 -
sessionStorage和localStorage使用时的注意事项
先说一下我写这篇最想记录的,然后在跟写一下他们的基本用法。注意事项sessionStorage和localStorage 在存储对象时只会得道字符串类型得值,无法得到期望得值,看一下例子 var obj1 = { name: 'a1', age: 1 } window.localStorage.setItem('obj1', obj1) console.log(原创 2018-01-03 15:56:28 · 4379 阅读 · 0 评论