JS
上网的虫不叫网虫
学会分享~
展开
-
javascript时间与时间戳互转详解
时间戳的获取方式整理了5种方法,后4种是利用new Date()实例化对象来获取当前时间,再对当前获取的时间再进一步处理获取时间戳。下面获取的时间戳都是毫秒ms级别,如果要转换成秒s级别,可以在获取的结果除以1000即可。原创 2022-11-09 12:06:57 · 7236 阅读 · 0 评论 -
js实现天时分秒倒计时
很久很久没更新文章啦!很久没来了,没想到粉丝都增加到了100多了,排名还没怎么减,感觉每一位支持我的小伙伴。今天还是记录点东西吧,我在过去的三个月里面,也记录了很多文章内容,我会尽量抽出时间写成博文和大家分享。话不多说,进入正题,今天分享一段js代码:实现一个简单的倒计时(n天n时n分n秒),内容比较基础,但是往往我们缺少的其实就是基础的东西。原创 2022-10-13 09:31:59 · 1140 阅读 · 0 评论 -
前端js实现字符转义和反转义
XSS攻击又称为跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行。XSS是一种经常出现在Web应用程序中的计算机安全漏洞,是由于Web应用程序对用户的输入过滤不足而产生的,它允许恶意web用户将代码植入到提供给其它用户使用的页面中......原创 2022-07-12 17:05:02 · 7903 阅读 · 0 评论 -
unicloud云函数时间慢8小时的解决方案
最近在做uniapp+unicloud小程序项目的时候,本地运行的时候一切正常,部署到云端运行的时候,发现保存在数据库中的时间慢了8个小时。经过查资料才知道,unicloud云函数中使用的时区是utc+0,而标准的北京时间时区应该是utc+8,所以在云函数中使用时间就要特别注意这点。在hbuilderX中本地运行时,使用的是电脑上的时间,所以就会出现上面说的本地运行一切正常,部署到云端慢8个小时。最简单的解决方案就是直接在获取的时间上加8个小时,当然这种方式本质上是没有多大问题,但是本地测试的时候就..原创 2022-07-06 11:10:49 · 1461 阅读 · 0 评论 -
js正则提取字符串中http等地址
在短视频等平台复制的链接,链接由有中文、符号、url地址等组成,使用js正则的方式将url地址提取出来,url地址一般包括http、ftp、file等类型的链接。原创 2022-07-06 10:22:40 · 3562 阅读 · 0 评论 -
h5页面js监听页面失去焦点、获取焦点
小程序/uniapp等项目有onshow、onhide等生命周期。其实在h5页面中对应的是页面激活、页面非激活状态。简单介绍h5中怎么实现该功能。原创 2022-05-07 12:05:24 · 3168 阅读 · 0 评论 -
websoket封装版 参数配置化 开箱即用
最近在做项目的时候自己封装了websoket,简单的实现了消息的接收和发送,断线重连、心跳检测等功能。做之前在网上找了一些相关资料,并没有找到完整的代码,都只是只言片语,不是我想要的,于是对websoket进行了封装,相对而言还是比较完整,那就分享给大家吧。原创 2022-04-20 17:56:16 · 2743 阅读 · 0 评论 -
js查找json数据中的最大值和最小值方法集结
js操作数组的方式有很多种,查找json数据中的最大值和最小值也是经常用到,那么接下来就介绍2种方式来实现。原创 2022-03-17 17:55:08 · 4078 阅读 · 0 评论 -
Chrome浏览器使用Overrides调试线上代码的技巧
在做pc端开发的时候,发布到线上的代码,一般都会存在BUG,为了避免不停的发代码进行测试,可以先在线上的源码中改好,然后复制到本地,可以达到事半功倍的效果。原创 2022-03-15 12:09:04 · 9967 阅读 · 3 评论 -
前端页面跳转的6大类方法及其使用场景特性分析
前端页面跳转的6大类方法及其使用场景特性分析,前端页面跳转的方法有很多种,总有一种适合你。原创 2022-03-11 14:59:37 · 9435 阅读 · 0 评论 -
jq实现拖拽功能-解决滚动条引起的偏差
最近在做拖拽功能的时候,在网上找了一些示例代码,示例代码都是大同小异,我发现代码并不完整,仅仅实现了拖拽功能,并未考虑到页面有滚动条时候的拖拽,还未考虑到拖出边界后可能会出现的bug。下面来做个简单分析和解决思路原创 2022-03-07 21:47:47 · 1341 阅读 · 0 评论 -
基于jQuery轮播carousel.js(轻量化-企业级)
概要轮播(走马灯)在网站开发中几乎是必不可少的,网上也有许多的相关插件,比如说swiper就是一个很大型的轮播插件,还有许多UI框架中也是封装了自己的swiper。在做开发的时候,有时候考虑到网站的性能优化,可能不想去引入第三方的插件,不是说第三方插件不好,而是第三方插件就是太好了,功能太齐全,同时增加了代码的重量。所以在大型jQuery项目中,可以使用自己封装的更轻量插件,这样保证质量的同时,还能保证加载更快。基于jQuery超轻量轮播carousel.js,就具有满足大型项目、轻量等特点。car原创 2022-02-25 15:12:00 · 1614 阅读 · 0 评论 -
获取的文件大小转换成MB
在开发中会遇到获取图片等文件的大小,图片的大小一般都是B字节(例如:"size": 107854949),可能需要转换成MB兆字节,下面就总结下相关单位的换算。原创 2022-02-24 13:23:54 · 2042 阅读 · 0 评论 -
雕虫小技:div转换成图片并下载之jQuery实现
div转换成图片并下载,在网站制作中也是经常会遇到的技术。在这里介绍的方法是使用jQuery实现。原创 2021-12-28 17:09:57 · 1868 阅读 · 2 评论 -
内联框架:iframe跨域处理及高度计算
iframe在web前端开发中很常见,iframe嵌入的页面与当前页面是在同一个域名下,是不存在跨域。但是在主域相同,子域不同的情况下,就会存在跨域,可以使用document.domain去解决。iframe一般需要主动设置高度才会完全显示嵌入页面的内容,而内容可能会在迭代的时候变化,所以如果iframe的高度写死,那么就显得这个iframe不够智能。可以通过js去计算内容的高度,然后给iframe进行设置动态高度。原创 2021-12-24 10:50:08 · 1566 阅读 · 0 评论 -
base64编码:js实现base64编码的3种方式,多场景下分析使用
js实现base64编码,前端一般应用场景在与后端接口参数中体现,后端可能需要某个字段是base64编码的字符,这时候就需要用前端的方法进行转换,再作为参数传递到服务端。原创 2021-12-14 10:52:29 · 67485 阅读 · 3 评论 -
运行环境之小程序环境判断与h5等多平台环境区分汇总
目录前言微信小程序区分开发版、体验版、正式版百度小程序区分开发版、体验版、正式版uniapp打包h5和app区分开发环境、生产环境关注我,不迷路前言后面介绍的涉及到小程序、h5、app等多平台环境区分。小程序环境判断在小程序中的使用场景,一般情况是不同的环境下可能需要使用不同的ip地址去调接口或其他特殊操作。小程序环境一般分为开发版、体验版、正式版。h5和app的环境一般区分为开发环境、生产环境。// 当前环境const env = 当前环境;const baseApi = {原创 2021-11-18 18:02:50 · 2747 阅读 · 0 评论 -
js简单判断:js判断对象是否为{},js判断对象是否为null
js判断对象是否为{}:let obj = {};if(JSON.stringify(obj)=='{}'){ console.log('该对象是{}')}js判断对象是否为null:let obj = 'null'||null;if(JSON.parse(obj)==null){ console.log('该对象是null')}原创 2021-10-21 14:10:50 · 994 阅读 · 0 评论 -
移动端h5页面click事件延迟300ms,出现该问题的原因分析及解决方案FastClick.js
内容参考来源:https://www.cnblogs.com/zhaodahai/p/6831165.html不管在移动端还是PC端,我们都需要处理用户点击,这个最常用的事件。但在touch端click事件响应速度会比较慢,在较老的手机设备上会更为明显(300ms的延迟)。问题由来:这要追溯至 2007 年初。苹果公司在发布首款 iPhone 前夕,遇到一个问题:当时的网站都是为大屏幕设备所设计的。于是苹果的工程师们做了一些约定,应对 iPhone 这种小屏幕浏览桌面端站点的问题。这当中最出名的,当原创 2021-10-20 16:56:22 · 1430 阅读 · 1 评论 -
img制图技巧:给img图片添加背景颜色和背景图片,制作出新图片
设想一个问题:如果前端页面中图片加载失败,是直接加载另一张异常图片吗?(我的答案,不完全是)那么在这里就分享一个更加优化的技巧来处理异常图片:效果图:直接上代码:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> .img { width: 200px;原创 2021-10-20 14:07:58 · 3489 阅读 · 0 评论 -
常用工具函数推荐:前端开发常用的工具函数(拷贝、排序、防抖、去重、合并、时间处理、DOM操作...).md
在闲暇之余,总结出来一部分前端常用的工具函数,后面几个操作DOM的适用于h5项目(eg:vue),其余适用于所有项目(vue、小程序等)。/** * 递归方式深拷贝数据 * @param {Object|Array} source 需要拷贝的对象 * @returns {Object|Array} * 使用示例:deepClone([1,2,3,4]) */export function deepClone(source) { if (!source && typeof so原创 2021-10-18 09:32:34 · 273 阅读 · 0 评论 -
JSON.parse转化:如何使得一个字符串类型‘false‘等于布尔类型的false(使‘1‘===1?成立的2种处理办法,与JSON.stringify的)
一、 如何处理一个字符串类型’false’等于布尔类型的false?console.log('false'==false);运行结果是false,说明不成立console.log(Boolean('false'));运行结果是true,说明’false’就是个字符串,字符串转化成布尔类型就是true在js逻辑中,往往喜欢用let flag = 'false';if(flag){}去做判断,但是很显然这个判断不成立,不会执行里面的逻辑处理方式:推荐 使用JSON.parse(‘false’),JSO原创 2021-10-14 17:28:40 · 1050 阅读 · 0 评论 -
图片懒加载:基于jQuery判断某元素是否显示在可视范围内,并实现背景图片根据随机下标进行懒加载
有时候用jq写页面功能的时候,可能需要判断某元素是否显示在可视范围内,再加载该元素中的图片等内容,那么怎么实现这个功能呢?知识点一: 判断某元素是否显示在可视范围内知识点二: 实现图片懒加载知识点三: 随机下标的生成效果图:话不多说,下面直接上代码:工具函数 util.js:var util = { // 判断某元素是否显示在可视范围内 isShow: function ($el) { var scroll_top = $(window).scr原创 2021-10-09 11:05:12 · 353 阅读 · 0 评论 -
h5适配的解决方案【1】
前言此h5的适配方案是以宽度为750的UI图为基准(只要懂这行的设计都知道移动端设计图宽为750,否则可能就是外行,我是遇到过~)样式的单位需要自己计算转换成rem(转换很简单,就是设计图上量取的数值除以100)核心代码支持根据窗口大小变化而变化以750px的设计图为标准(即iphone6的尺寸为标准)(function(doc, win) {var docEl = doc.documentElement, resizeEvt = "orientationchange" in win原创 2021-09-06 18:01:08 · 1153 阅读 · 0 评论 -
uniapp开发:uni.request基于async+await的二次封装,兼容vue2、vue3、及多端
概要只需要封装一次,就可以不用再改动代码功能参数化,更加灵活async+await和promise的思想,执行效率更高代码更简洁,更像同步代码只适合uniapp中使用核心代码及使用思路request.js/** * uniapp之请求封装(利用async+await和promise的思想) * options {Object} 参数 * options.url {String} 请求地址 * options.data {Object} 请求参数 * options.method原创 2021-09-01 17:39:10 · 5799 阅读 · 1 评论 -
switch中的break和return的区别
概要return是直接返回,不执行后续的代码break只是跳到switch的外面,继续执行后面的代码使用场景:如果是在函数中的switch case判断中需要返回qie,则使用return如果是在函数中的switch case判断中只是执行逻辑代码,则使用break案例说明function demo(num){ switch(num){ case 0: console.log('我是0'); return; case 1:原创 2021-09-01 15:47:59 · 8130 阅读 · 0 评论 -
async+await详解:async+await教你如何彻底摆脱回调地域,让代码接近同步更简洁(内有B站教学视频)
概要async+await是es2017中的新特性,主流浏览器都已支持;避免回调地域(多个请求按顺序执行,摆脱嵌套);代码更加简洁,看起来更像同步代码;更优雅,代码执行的速度也会有改观。准备工作在这里我先模拟一个函数,方便下面代码中直接调用:async function getData(id=1){ if(typeof id != 'number'){ throw new Error('错误类型'); } const result = id==1?{原创 2021-08-20 16:38:32 · 860 阅读 · 0 评论 -
JS浮点数精度
JS中浮点数精度问题使用加减乘除时偶尔会出现精度问题,如:0.1 + 0.2 = 0.300000000000000040.3 - 0.2 = 0.099999999999999980.1 * 3 = 0.300000000000000040.3 / 0.1 = 2.9999999999999996为什么让我们来看一下为什么 0.1 + 0.2 会等于 0.30000000000000004,而不是 0.3。在 JavaScript 中所有数字包括整数和小数都只有一种类型 Number。它原创 2021-08-20 16:29:45 · 1124 阅读 · 0 评论