js几种循环方式
for循环
最基本的循环方式,不多说。这种最基本的循环才是速度最快的,效率最高的。
for(var i = 0;i<5;i++){ console.log(i)}
for in循环
用来遍历对象的。要知道JavaScript对象的所有属性都是字符串,不过属性对应的值可以是任意数据类型。(注意:遍历时不仅能读取对象自身上面的成员属性,也能遍历出对象的原型属性)
let obj = {a:1, b:2, c:3};for (let prop in obj) { //prop指对象的属性名 //输出: a,1 b,2 c,3 console.log(prop, obj[prop]);}
for of循环
作为ES6新增的循环方法,这个方法避开了for-in循环的所有缺陷。而且,它可以正确响应break、continue和return语句。for-of循环不仅支持数组,还支持大多数类数组对象,例如DOM NodeList对象。但是for of也有一个致命伤,就像例子看到的,没有索引。对,这是优点也是缺点。遍 ...
js复制函数
一键复制函数const copy=(e:any)=>{ const copyDOM =e.currentTarget; // 需要复制文字的节点 const range = document.createRange(); // 创建一个range window.getSelection()?.removeAllRanges(); // 清楚页面中已有的selection range.selectNode(copyDOM); // 选中需要复制的节点 window.getSelection()?.addRange(range); // 执行选中元素 const successful = document.execCommand('copy'); // 执行 copy 操作 if(successful){ alert('复制成功!') }else{ alert('复制失败,请手动复制!') } // 移除选中的元素 ...
CSS 布局
圣杯布局
左右两栏 上下高度自适应
中间一栏 宽度自适应
float版本<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> /* reset */ html, body { margin: 0; padding: 0; height: 100%; max-height: 100%; } body { min-width: 600px; min-height: 400px; font-size: 32px; } /* 修饰代码 */ #left ul, #right ul { list-style: decimal; padding-inline-start: 0; padding: ...
web性能优化
web性能优化
基于现代Web前端框架的应用,其原理是通过浏览器向服务器发送网络请求,获取必要的index.html和打包好的JS、CSS等资源,在浏览器内执行JS,动态获取数据并渲染页面,从而将结果呈现给用户。
思路
在这个过程中,有两个步骤可能较为耗时:一个是网络资源的加载,另一个是浏览器内代码执行和DOM渲染。
针对上述两种耗时的情况,常见的优化方向有:
缩短请求耗时
减少重排重绘
改善JS性能
具体实现缩短请求耗时优化打包资源
减少或延迟模块引用,以减少网络负荷。
常用工具:webpackwebpack-bundle-analyzer可视化分析工具
常用方法:
减小体积:减少非必要的import;压缩JS代码;配置服务器gzip等;使用WebP图片;
按需加载:可根据“路由”、“是否可见”按需加载JS代码,减少初次加载JS体积。比如可以使用import()进行代码分割,按需加载;
分开打包:利用浏览器缓存机制,依据模块更新频率分层打包。
其他方法:
雪碧图:每个HTTP/1.1请求都是独立的TCP连接,最大6个并发,所以合并图片资源可以优化加载速度。 ...
CSS 开头的全局标准代码
PCCSS*{padding:0;margin:0;}div,dl,dt,dd,form,h1,h2,h3,h4,h5,h6,img,ol,ul,li,table,th,td,p,span,a{border:0;}img,input{border:none;vertical-align:middle;}body{font-family:Tahoma,Arial,Helvetica,"宋体";font-size:12px;text-align:center;background:#FFF;color:#000;}html{overflow-y:scroll;}ul,ol{list-style-type:none;}th,td,input{font-size:12px;}h3{font-size:14px;}button{border:none;cursor:pointer;font-size:12px ...
聚合支付H5
聚合支付-商家二维码
聚合支付:也称“融合支付”,是指只从事“支付、结算、清算”服务之外的“支付服务”,依托银行、非银机构或清算组织,借助银行、非银机构或清算组织的支付通道与清结算能力,利用自身的技术与服务集成能力,将一个以上的银行、非银机构或清算组织的支付服务,整合到一起,为商户提供包括但不限于“支付通道服务”、“集合对账服务”、“技术对接服务”、“差错处理服务”、“金融服务引导”、“会员账户服务”、“作业流程软件服务”、“运行维护服务”、“终端提供与维护”等服务内容,以此减少商户接入、维护支付结算服务时面临的成本支出,提高商户支付结算系统运行效率的,并收取增值收益的支付服务。
实现目标扫描二维码–>识别支付平台–>展现支付画面–>完成支付
技术栈1.JavaScript2.java3.微信4.支付宝5.支付宝沙箱环境
具体实现判断扫码平台展示不同页面function isAlipayOrWechat() { var userAgent = navigator.userAgent.toLowerCase(); if (userAgent.match(/A ...