JavaScript
JavaScript相关
掺乎君
这个作者很懒,什么都没留下…
展开
-
前端webSocket实现聊天消息&心跳检测&断线重连
封装socket.js class Socket { /** * @description: 初始化实例属性,保存参数 * */ constructor(options) { this.url = options.url; this.callback = options.received; this.name = options.name || 'default'; this.ws = null;原创 2021-01-05 11:33:16 · 1007 阅读 · 1 评论 -
解决vue (ios系统内嵌H5) 返回上一页白屏
问题描述: 进入A页面——>B页面——>ios自带的返回——>白屏出现——>手动点击白屏处——>问题解决; 在vue的issues里面找到了同样的bug 【应该是ios 的锅】 vue-issues 原因: 经过排查,发现在ios 机器上使用webview 开发Vue项目时候,go history (-1),无法将body 的高度拉掉,使得遮住,触发轻点击,方可消除该遮罩 解决方法: 在ajax返回数据后 加入以下代码: this.$nextTick(() => {原创 2020-11-19 11:13:34 · 2832 阅读 · 1 评论 -
解决vue (ios系统)键盘收起后-页面不回弹
解决vue (ios系统)键盘收起后-页面不回弹 <input placeholder="请输入金额" v-model="number" @blur="handleScroll" /> handleScroll() { let scrollHeight = document.documentElement.scrollTop || document.body.scrollTop || 0 window.scrollTo(0, Math.max(scrollHeight - 1, 0)原创 2020-11-17 11:20:23 · 832 阅读 · 0 评论 -
JavaScript根据对象某个属性进行排序
根据对象某个属性进行排序 let objArr = [ {name: 'test1', age: 20}, {name: 'test1', age: 22}, {name: 'test1', age: 21} ] // 第一参数a, 第二参数b ---> a-b升序(从小到大); // b-a降序(从大到小),原理就是 两数计算,如果返回的是负数, // 就保留前者(我可能说的不对,欢迎纠正) objArr.sort((a, b) => { return a.原创 2020-11-10 11:31:13 · 213 阅读 · 1 评论 -
CSS JS实现文本溢出显示省略号...
单行文本溢出显示省略号 overflow: hidden; text-overflow:ellipsis; white-space: nowrap; 多行文本溢出显示省略号 display:-webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp:3; overflow: hidden; 截断一个字符串 用 ‘…’ 附加到结尾 const truncateString = (str, num) => str.length >原创 2020-11-10 11:20:13 · 223 阅读 · 0 评论 -
H5页面(APP内嵌)- 真机调试
//CDN <script src="http://wechatfe.github.io/vconsole/lib/vconsole.min.js?v=3.2.0"></script> <script src="https://cdn.bootcdn.net/ajax/libs/vConsole/3.3.4/vconsole.min.js"></script> //npm npm i vconsole -S //页面调用 <script>原创 2020-11-10 11:14:50 · 894 阅读 · 0 评论 -
JavaScript数组常用操作(去重)
数组去重 ES6 //new Set function unique(arr){ return Array.from(new Set(arr)) } function unique(arr){ return [...new Set(arr)] } //filter function unique(arr){ if(!Array.isArray(arr)) return; ...原创 2020-04-20 11:03:50 · 101 阅读 · 0 评论 -
JavaScript常用操作方法(斐波那契数列)
斐波那契数列 function fb(num) { if(num <=2){ return 1; }else{ return fb(num-1) + fb(num-2); } }原创 2020-04-20 11:03:20 · 141 阅读 · 0 评论 -
JavaScript常用操作方法(求N的阶乘)
js求N的阶乘 function js(num){ if(num<=1) { return 1; }else{ return num * js(num-1); } }原创 2020-04-20 11:02:43 · 1455 阅读 · 0 评论 -
JavaScript数组常用操作(获取交集)
数组的交集 function val(arr1,arr2) { return [...new Set(arr1)].filter(item => arr2.includes(item)) }原创 2020-04-20 11:02:00 · 159 阅读 · 0 评论 -
JavaScript数组常用操作(获取随机元素)
获取随机元素 arr[Math.floor(Math.random() * arr.length)]原创 2020-04-20 11:01:16 · 447 阅读 · 0 评论 -
JavaScript数组常用操作(值求和)
数组中的值求和 ES6 let sum = arr.reduce((x,y) => x + y); ES5 let sum = 0; for(let i=0; i<arr.length; i++) { sum = sum + arr[i]; }原创 2020-04-20 11:00:27 · 619 阅读 · 0 评论 -
JavaScript数组常用操作(反转)
数组反转 let reverse = arr.reverse();原创 2020-04-20 10:59:49 · 407 阅读 · 0 评论 -
JavaScript数组常用操作(平铺)
数组平铺 //二维数组 let flatArr = [].concat(...arr); //多维数组 function flat(arr){ let flatArr = [].concat(...arr); return flatArr.some(item => Array.isArray(item)) ? flat(flatArr) : flatArr; } //n:...原创 2020-04-20 10:59:03 · 1345 阅读 · 0 评论 -
JavaScript数组常用操作(合并)
数组合并 ES6 ...运算符 let arr = [...arr1,...arr2]; ES5 concat let arr = arr1.concat(arr2)原创 2020-04-20 10:57:58 · 193 阅读 · 1 评论 -
JavaScript常用操作方法(防抖和节流)
防抖函数 短时间内大量触发同一事件,只会执行一次函数 function debounce(func,wait) { let timer = null; return (...args)=> { if(timer) clearTimeout(timer) timer = setTimeout(()=>{ func.a...原创 2020-04-20 10:56:40 · 183 阅读 · 0 评论 -
JavaScript常用操作方法(排序)
冒泡排序 冒泡排序算法的原理如下: 比较两个相邻的元素,若前一个比后一个大,则交换位置 第一轮的时候最后一个元素应该是最大的一个 对所有的元素重复以上的步骤,除了最后一个 function bubbleSort(arr) { for(let i=0;i<arr.length;i++) { for(let j=0;j<arr.length-i-1;j++) {...原创 2020-04-20 10:55:06 · 152 阅读 · 0 评论 -
JavaScript模拟实现new
模拟实现new function myNew(foo,...args) { // 创建新对象,并继承构造方法的prototype属性, 这一步是为了把obj挂原型链上 let obj = Objwct.create(foo.prototype); // 执行构造方法, 并为其绑定新this let result = foo.apply(obj,args); ...原创 2020-04-20 10:52:22 · 141 阅读 · 0 评论