JavaScript知多少
文章平均质量分 63
大鱼吃小鱼7
一个会撸代码的小鱼姑娘,爱撸码,爱旅游,爱写作.
展开
-
彻底消除if-else, 优化判断逻辑, 让你的代码更优雅
前言应该有不少同学有遇到过充斥着if else的代码,面对这样的一团乱麻,简单粗暴地继续增量修改常常只会让复杂度越来越高,可读性越来越差。那么是时候重构了,花几分钟看看这篇文章, 说不定对你有一丢丢帮助。场景一: 根据status显示对应名称优化方案1:object对象const statusStr = { '1': '待付款', '2': '待发货', '3': '已发货', '4': '交易完成', '5': '交易关闭', 'default': '',}const原创 2020-10-12 00:05:48 · 968 阅读 · 0 评论 -
记录问题:This request has been blocked, the content must be served over HTTPS. 解决https和http混用导致的问题
引起原因:前端项目部署在服务器上配置的域名是https的, 而接口部署的服务器域名配置的是http的, 而浏览器上明确https中不允许http的请求, 这就导致了blocked问题。也就是下图:那么如何解决呢?很简单, 在你配置的环境变量中, 把前面的htpps或者http去掉, 就像这样:'//credit.ccmallv2.create-chain.net'还有一种方式就是让运维人员去配置域名为https, 实际上线上访问的接口地址本就不应该是http的。...原创 2020-05-21 21:24:46 · 37293 阅读 · 10 评论 -
在js中数组和字符串之间的相互转化
在这个前后端分离的时代, 与API接口交互的过程中经常需要对数据进行处理, 比如,根据多个id值查询数据,对前端来说, 数组当然是好处理一些, 而后端往往会要求字符串格式。一. 数组转化为字符串1.toString()数组中 toString()方法能够把每个元素转换为字符串,然后以逗号连接输出显示。let a = [1,2,3,4,5,6,7,8,9,0]; //定义数组let s = a.toString(); //把数组转换为字符串 console.log(s); //返回.原创 2020-05-20 09:04:45 · 270 阅读 · 0 评论 -
阿里云OSS上传图片被自动旋转90℃的解决方案
由于拍摄的图片是横拍的, 上传的时候被自动旋转了, 像下面这样:问题描述:上传图片到阿里云OSS,再HTML标签使用OSS图片路径,展示的图片被自动旋转了;但是将图片图片路径直接浏览器打开,是原始没有旋转过的.那么如何解决?很简单, 只需要在图片链接中加上一个属性x-oss-process, 像下面这样:url链接加上?x-oss-process=image/resi...原创 2020-03-05 17:57:32 · 3212 阅读 · 1 评论 -
h5页面与原生APP的交互
前阵子有个需求, 需要在移动端实现图表的呈现, 问题就在于, android和ios,以及h5能够统一的图表很少,echarts又不太符合我们的需求, 并且ios需要提审, 图表可能会更换样式. 经过探讨, 统一由h5提供图表. app内嵌h5页面呈现图表.那么问题来了, app端需要加载html,js等文件, 这个速度真的不敢恭维, 近40多秒的加载速度, 用户体验特别差,那么怎么办?...原创 2019-11-20 19:02:07 · 1374 阅读 · 0 评论 -
JS 判断用户设备是网页(谷歌,UC,火狐)还是客户端(IOS还是Android)
借助window的属性navigator.userAgent判断.var userAgent = window.navigator.userAgentexport default { isFromAndroid: /android/gi.test(userAgent), /* 安卓*/ isFromIOs: /iphone|ipod|ios/gi.test(userAge...原创 2019-11-20 17:18:02 · 596 阅读 · 0 评论 -
js 前端对数据的处理操作总结
目录一.字符串去除空格1.使用String原型的trim()方法去除两端空格2.使用split()和join()方法删除所有空格3.使用正则去除所有空格二. 对象判空三. 判断数组/对象中是否存在某个元素1.判断数组/对象是否存在2.js判断数组中对象里的某一个值是否存在四.字符串转换成对象五.小数运算出现多位的处理1.先把需要运算的小数扩大成整数,...原创 2019-11-18 12:49:58 · 3402 阅读 · 0 评论 -
js 时间戳与时间格式的转化, xx天xx小时xx分倒计时,距离当前时间多久
目录一.时间戳和日期格式相互转化(1) 获取时间戳(2) 时间戳转化为日期格式(3) 日期格式转换为时间戳二. XX天XX小时XX分倒计时三.距离当前时间的计算, 显示效果为3秒前,1小时前一.时间戳和日期格式相互转化(1) 获取时间戳//(1)、精确到秒: Date.parse(new Date()); //1570506183000//(2)、精...原创 2019-11-14 13:50:59 · 1024 阅读 · 0 评论 -
支付宝集成过程详解——运行DEMO
前言,梦想是需要坚持的,在路上,一路前行。加油。这两天软件需要集成支付宝了,第一次集成,过程还是挺简单的,不过由于[支付宝官方文档](https://docs.open.alipay.com/204/105297/)写的不够清晰,也是走了一些弯路,下面把过程写出来分享给大家一、申请移动支付权限首先登录【支付宝开放平台】http://open.alipay.com/...转载 2018-11-21 17:05:03 · 215 阅读 · 0 评论 -
用户行为日志-js埋点(四)可能存在的问题和总结
一、用new Image().src作LOG统计的一个注意事项在大型网站做很多用户行为分析、产品的策划方案基本上都是通过分析用户的访问等信息而做出的,LOG信息的统计准确性会直接影响到产品的设计开发(比如搜索结果的先后排名rank值的产生等)。目前最常用的一个写LOG的方法就是用JavaScript脚本在网页里 new Image().src = "http://xxx.com/log?ms...转载 2018-11-20 17:50:06 · 781 阅读 · 0 评论 -
用户行为日志-js埋点(三)浏览记录和停留时间思路
问题公司想统计一个用户从进入官网到注册,这个流程该用户整个的浏览路线,在哪个页面停留的时间比较长,从而更有针对性的对客户行为进行分析,了解用户的真正需求。。。虽然百度统计之类的也可以记录用户的浏览行为,但是这类统计是全部跟踪用户,而无法精确的跟踪到注册的用户之前一系列的行为,而我们只需要针对注册用户进行有目的性的行为分析。。。已更新到:js记录用户访问页面和停留时间演示地址:ht...转载 2018-11-20 17:48:09 · 2874 阅读 · 0 评论 -
用户行为日志-js埋点(二) 实现细节
需求:统计用户页面某处的点击数或者执行到程序中某个点的次数特点:根据实际情况,创建多个Image对象,原则谁空闲谁做事。解决因过快发送埋点数据导致部分埋点缺失的问题。 实现:(注下面的代码依赖jQuery)var CA = {    转载 2018-11-20 17:43:27 · 1099 阅读 · 0 评论 -
js 将图片资源转码成base64的各种场景及其实现
将图片资源转换成base64的操作是常见的, 那么一般什么场景下会用到转码呢?场景一:将用户本地上传的资源转化,即用户通过浏览器点击文件上传时,将图片资源转化成base64:var reader = new FileReader(); var AllowImgFileSize = 2100000; //上传图片最大值(单位字节)( 2 M = 2097152 B )...原创 2018-07-05 14:39:34 · 2932 阅读 · 0 评论 -
为什么要将script脚本放在body底部
文章目录一、从一个面试题说起“页面渲染出来了” 指的是什么? 陷阱二、浏览器的渲染机制几个概念浏览器的渲染过程看 Timeline,一目了然三、问题的答案四、总结、再进一步说明:本文提到的浏览器均是指Chrome。 “script标签“指的都是普通的不带其他属性的外联javascript。 web性能优化的手段并不是非黑即...转载 2018-07-18 18:52:50 · 3703 阅读 · 1 评论 -
写给自己,梳理一下我现在对前端知识结构的理解
今天想着做一件事情,给自己的收藏夹分类。结果做着做着,发现这个任务的工作量超乎我的想象。有一些文章,可能很难界定说,它是哪一类的;而且自己还没有特别去梳理自己对前端知识结构的理解,使得在分类的时候层级也有些模糊。所以在这里梳理一下自己理解中的知识结构。这既是一篇总结,也是一篇指南...转载 2018-07-20 16:49:47 · 470 阅读 · 0 评论 -
js数组常用方法总结
js数组常用的方法主要有push、 pop、unshift、shift、splice、reverse、sort、join、slice、indexOf 、forEach、map、 every、some、filter、reduce、reduceRight、groupBy数组常用方法:var arr=[‘78’,‘96’,‘45’]; // arr的原型是array.prototype;pu...原创 2018-10-31 15:29:52 · 247 阅读 · 0 评论 -
javascript 循环读取JSON数据的代码
1. 服务端后台返回到客户端的JSON格式字符串:var str = ‘[{“uname”:“王强”,“day”:“2010/06/17”},{“uname”:“王海云”,“day”:“2010/06/11”}]’;我们把它转换成JSON对象:var jsonList=eval("("+str+")");这时候如果以用断点跟踪查看这个jsonList对象,其实你会发现,他的长度为2,即json...原创 2018-11-01 10:07:41 · 2443 阅读 · 0 评论 -
那些短小精悍的&奇葩的&令人感到惊讶的JavaScript代码
自学习前端以来,陆陆续续遇见很多短小令人惊讶的js代码,固有了专门开一片日记来记录这些代码的想法。借此提高写代码的姿势和深度理解JavaScript。1.JavaScript中 (a ==1 && a== 2 && a==3) 可能为 true 吗?来自Stack Overflow的一个问题:链接国外面试题,No...转载 2018-11-01 14:50:08 · 290 阅读 · 0 评论 -
原生JS获取ScrollTop/ScrollLeft
使用原生JS获取浏览器ScrollTop,ScrollLeft的方法:function scroll() { if (window.pageYOffset != null){// 支持IE9 + return{ left:window.pageXOffset, top...转载 2018-11-05 15:43:09 · 5271 阅读 · 1 评论 -
用户行为日志-js埋点(一)实现整体流程
网站数据统计分析工具是网站站长和运营人员经常使用的一种工具,比较常用的有谷歌分析、百度统计 和 腾讯分析等等。所有这些统计分析工具的第一步都是网站访问数据的收集。目前主流的数据收集方式基本都是基于javascript的。本文将简要分析这种数据收集的原理,并一步一步实际搭建一个实际的数据收集系统。注:从上图中可...转载 2018-11-20 17:33:45 · 9515 阅读 · 1 评论 -
记录问题:从用户输入一个网址到页面显示,浏览器和服务器发生了什么?
这个问题,曾经被无数次作为面试题,原因很简单,无论是大佬还是菜鸟,这个问题多多少少都能回答出来,而你回答的深度和广度则可以判断你在什么样的水平上,到达了怎样的高度. 今天就重点解析一下这个问题. 简洁版大概是这样的: 浏览器根据请求的URL交给DNS域名解析,找到真实IP,向服务器发起请求; 服务器交给后台处理完成后返回数据,浏览器接收文件(HTML、JS、CSS、图象等);...原创 2018-07-17 23:26:07 · 680 阅读 · 0 评论