js小技巧
CherryCola_zjl
enjoy it
展开
-
什么是浅拷贝,什么是深拷贝?
js数据类型分为,基本类型与引用类型。浅拷贝只能实现,基本类型数据的传值与引用类型数据的传址。并不会为引用数据开辟新的堆内存,这样就会造成,引用类型数据修改,复制数据与原数据都被更改。解决的方法,我们可以使用递归去完成深层次的拷贝(对象与数组)function cloneObj(obj) { if(obj === null || typeof obj !== 'object') return obj if(window.JSON) return JSON.parse(JSON.st原创 2021-01-12 19:51:23 · 224 阅读 · 0 评论 -
js获取时间戳bug
new Date('2020-12-7')*1获取的是2020-12-7日早八点的时间戳,而不是0点的。。。。一定要写全00:00:00原创 2020-12-07 00:48:23 · 365 阅读 · 0 评论 -
js根据UA用户代理判断移动端h5打开环境
userAgent 指 用户代理function isAndroid() { return 0 <= navigator.userAgent.toLowerCase().indexOf("android")}function isIos() { return 0 <= navigator.userAgent.toLowerCase().indexOf("iphone")}function isInWb() { return 0 <= navigator.u原创 2020-11-23 11:41:51 · 3272 阅读 · 0 评论 -
ios h5项目图片不出现
图片格式是webp,有时候后缀是png但源文件是webp的话,会出现图片空白的情况。原创 2020-10-16 22:53:04 · 779 阅读 · 0 评论 -
js复制文本到剪贴板
<textarea style="position: fixed;z-index: -9999;left: -9999px;" v-model="shareUrl" id="copyUrl" readonly="readonly"></textarea> let copycode=document.getElementById("copyUrl"); copycode.select(); // 选择对象 document.execCommand("Copy");原创 2020-10-16 14:02:16 · 277 阅读 · 0 评论 -
js页面回到顶部
toTop(){ this.timer = setInterval(() => { let topDistance = document.documentElement.scrollTop || document.body.scrollTop; let moveDistance = Math.floor(-topDistance / 5); document.documentElement.scrollTop = document.body.scrollTop = topD原创 2020-06-28 19:17:47 · 201 阅读 · 0 评论 -
h5 ios端键盘收回页面空白
// jsdocument.body.addEventListener("focusout", () => { let currentPosition = document.documentElement.scrollTop || document.body.scrollTop || 0; this.currentPosition = currentPosition-1 setTim...原创 2020-05-08 11:29:36 · 379 阅读 · 0 评论 -
js 奇奇怪怪的高级用法
true false!0 //TRUE !1 // FALSE获取时间戳‘+’ 强制转换数据类型为Numbernew Date()*1+new Date()原创 2020-04-11 10:34:56 · 263 阅读 · 1 评论 -
forEach内赋值问题
你是否遇到过forEach赋不上值let arr = [1,2]arr.forEach(el=>{ el = 3})console.log(arr)答案是什么??还是[1,2]正确的写法应该是let arr = [1,2]arr.forEach((el,index)=>{ arr[index] = 3})console.log(arr)这次才是[3,3]...原创 2020-03-11 23:37:22 · 1038 阅读 · 0 评论 -
js获取两位小数
方法一: num.toFixed(2)toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。方法二:这个方法一般运用于输入动态校验,第一个正则是 校验 1,1. ,1.0这类型的数字,因为输入的时候可能有这几种状态getFloatNum(num) { if (!num) { return 0 } if (/^\d+\.0?$/.tes...原创 2020-02-24 20:50:32 · 3770 阅读 · 0 评论 -
js Date字符串转换
Date转字符串// 将Date转为数字类型即可new Date()*1 字符串转Datelet now = new Date()now.getFullYear() + "-" + (now.getMonth() + 1) + "-" + now.getDate()距今几天// str 为字符串格式,例如: 2019-10-9parseInt((new Date(str) * ...原创 2019-10-09 15:55:47 · 281 阅读 · 0 评论 -
flex布局 未出现省略号
父元素为flex:1 子元素文字省略号不生效.parent{ width:0;}原创 2019-06-28 15:44:44 · 345 阅读 · 0 评论 -
flex等分布局
一般等分布局,这样一般没问题// 父元素.parent{ display: flex; align-item: center; justify: space-between;}// 子元素.item{ flex: 1}但是子元素如果字数过长会挤压其他 子元素的地方。这时候只要给子元素加上over-flow:hidden;就解决了...原创 2019-06-27 19:01:51 · 6572 阅读 · 0 评论 -
安卓软键盘导致底部按钮顶上来的问题
h5网页中,软键盘弹起底部fixed定位元素会被顶起来,挡住部分内容const h = document.body.scrollHeight //获取当前页面高度window.onresize = function () { // onresize监听窗口高度变化 if (document.body.scrollHeight < h) { document.body...原创 2019-01-11 14:39:17 · 742 阅读 · 0 评论 -
前端页面防止缓存
方法一通过meta标签<meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">原创 2018-11-27 19:16:01 · 8284 阅读 · 1 评论 -
获取一个height设置为auto的元素的实际高度
jq$("#box")[0].offsetHeightjsdocument.getElementById("box").offsetHeight这两个方法是没问题的,但我在项目中遇到了问题。 我要获取隐藏元素iframe中,一个height为auto的元素高度。再将此高度赋给iframe,让高度适应。卸载iframe的load回调函数中,但是获取的高度始终为0。 但是...原创 2018-04-11 16:11:27 · 4865 阅读 · 0 评论 -
iframe父子页面操作方法大全
为了方便理解,我们先梳理一下结构。 1.声明的函数方法绑定在window对象上。 2.dom元素在window.document下(包含iframe元素)。 window-----document------dom ( iframe ---- window ... ) | function知道这两点就方便多了,本质是获取相应页面的window与document对象if...原创 2018-02-24 13:55:48 · 5175 阅读 · 1 评论