JavaScript
文章平均质量分 85
分享JavaScript实战当中高级知识点和技巧
子醉
公众号romantic_web,前端陪伴者,本人将确保朋友们能学到东西
展开
-
值得前端工程师学习的团队沟通话术
谈话,和作文一样,有主题,有腹稿,有层次,有头尾,不可语无伦次原创 2021-06-06 18:32:28 · 1550 阅读 · 5 评论 -
前端开发当中常用的正则表达式
一分耕耘一分收获文章目录前言正则判断字符串是否为空或者全为空格小知识百位符、千位符、万位符去除字符串里所有空格去除首尾空格密码正则尾声前言正则是一种神奇的魔法!正则此模块会将js开发当中常用的正则表达式列举出来正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等 —— 菜鸟教程判断字符串是否为空或者全为空格let pattern = /^[\s].原创 2021-02-07 20:24:05 · 3835 阅读 · 13 评论 -
前端开发当中常用的算法
前言业务算法打乱数组随机生成指定长度的字符串获取数组间的交集、并集和差集求数组成员的最大值、最小值和平均值reduce小知识尾声原创 2021-02-07 16:59:51 · 2559 阅读 · 13 评论 -
Vue $nextTick 使用场景
前言虽然 $ nextTick是一个中级知识点。但只要你是一个vue开发者,你就必须得知道$nextTick的使用场景。不管是面试还是日常工作,你都用得到。$nextTick的定义$nextTick会在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。// 修改数据vm.msg = 'Hello'// DOM 还没有更新Vue.ne...原创 2020-04-28 18:29:25 · 1510 阅读 · 0 评论 -
面试官最喜欢问的原型链
原型链Javascript内置的继承方法被称为原型对象链,又称为原型对象继承。对于一个对象,因为它继承了它的原型对象的属性,所以它能够访问这些属性。同理,原型对象也是一个对象,它也有自己的原型对象,因此也可以继承它的原型对象的属性。这样环环相扣的过程就叫做原型链...原创 2020-04-14 18:21:21 · 783 阅读 · 0 评论 -
javascript中的微任务,宏任务以及Event Loop的基础进阶和实际应用
众所周知, **JavaScript** 是一个单线程语言。**JavaScript** 任务需要排队顺序执行。由于加载一个网站,里面可能有很多图片,加载的比较慢。所以为了考虑其他元素的加载,分成了 异步任务和同步任务。原创 2020-04-03 14:52:25 · 573 阅读 · 1 评论 -
如何计算一个字符串是否是回文 js
function isChar(string) { // 将字符串切割成数组 let unhandledArray = string.split("") // 创建空数组 let array = [] array.push(...unhandledArray) //深度拷贝字符串数组、防止下文数组颠倒对array的影响原创 2019-12-30 18:00:59 · 381 阅读 · 0 评论 -
代替Math.floor和Math.ceil的写法
Math.floor() 返回小于或等于一个给定数字的最大整数。Math.ceil() 函数返回大于或等于一个给定数字的最小整数使用方法Math.floor(2.3) //2Math.ceil(2.3) //3而现在笔者发现有一种更高效的方法可代替Math.floor和Math.ceil,他速度比前两者更快!它就是 ---- ~~看例子<script typ...原创 2019-06-16 19:54:28 · 1059 阅读 · 0 评论 -
如何将@click变成onclick
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equ...原创 2019-06-04 13:38:57 · 1836 阅读 · 0 评论 -
如何给setInterval执行函数传参
setInterval( function(a) { console.log(a); //3 }, 1000, 3);setInterval( function(a) { console.log(a); //{a:1} }, 1000, {a:1} );setInterval( function(a) {...原创 2019-07-04 14:28:00 · 3372 阅读 · 0 评论 -
针对ie浏览器不支持flat方法的兼容处理
Array.prototype.flat = function(count) { let c = count || 1; let len = this.length; let ret = []; if (this.length == 0) return this; while (c--) { let _arr = []; let flag = false; ...原创 2019-07-11 16:21:51 · 3568 阅读 · 5 评论 -
js如何取得两个数组之间的交集
function contain(arr1, arr2) { let len = Math.min(arr1.length, arr2.length) let i = -1 let _arr1 let _arr2 if (arr1.length == len) { _arr1 = arr1 _arr2 = arr2 ...原创 2019-08-29 21:58:11 · 2095 阅读 · 2 评论 -
js中replace匹配变量的几种方法
//第一种let variable = "var";let exp = new RegExp(variable, "g");let str = "varvar";// 相当于 str.replace(/var/g,"i")console.log(str.replace(exp, "i")); //ii原创 2019-09-02 18:09:15 · 1379 阅读 · 0 评论 -
h5阻止冒泡及冒泡顺序理论
冒泡型事件冒泡型事件像冒泡一样从dom层次结构的最低端往上一层层上升,例如<div onclick="outer()"><div onclick="inter()"></div</div>,会先执行inter()再执行outer()捕获型事件捕获型事件从dom层次的顶端开始向下延伸,与冒泡型事件相反取消冒泡function i...原创 2019-09-19 16:34:21 · 836 阅读 · 1 评论 -
JavaScript变量命名简写
pri == primary 初级的 sec == secondary 第二级 nor == normal 普通的 len == length 长度 idx == index 索引 ori == origin 原来的 clr == cle...原创 2019-05-20 22:50:02 · 661 阅读 · 0 评论 -
缓存相关知识(h5) 设置 获取等方面(localStorage sessionStorage )
localStorage.setItem('key', data) //设置data为一个键名为key的缓存localStorage.getItem('key') //获取键名为key的缓存localStorage.removeItem("key") //删除键名为key的缓存localStorage.clear() //删除所有缓存s...原创 2018-08-13 19:52:01 · 676 阅读 · 0 评论 -
封装求数组最大值,最小值的函数
Array.prototype.max=function(){ var max=Math.max.apply(null,this) return max}加上上面这段代码。求数组最大值:var arr=[1,2,3,4,5]arr.max() //5Array.prototype.min=function(){ var mi...原创 2018-08-14 15:39:52 · 2966 阅读 · 0 评论 -
传址,传值,深拷贝,浅拷贝
传值:把A的数值传到B,改变B,A不会跟着变,B存的是跟A一样的值。同样的,改变A的话,B也不会跟着变传址:把A的地址传到B,改变B,A同时跟着变,B存的只是A的地址。同样的,改变A的话,B也跟着变浅拷贝:复制一份A给B,包括指针深拷贝:复制一份A给B,不包括指针总结:传值跟深拷贝很像传址跟浅拷贝很像...原创 2018-06-16 13:56:02 · 441 阅读 · 0 评论 -
关于vue的插槽(slot)的学习笔记
看了vue官方的文档,关于slot的介绍显得很模糊。没看懂........ 于是并自己查了一些资料,自己学了一下。现在跟大家分享一下。Vue.component('test',{ template:'<a>blank <slot>my name is test</slot> blank </a>'}这里注册一个名叫te...原创 2018-06-06 18:08:27 · 601 阅读 · 2 评论 -
vue 强制刷新列表
使用this.$forceUpdate()原创 2018-05-24 20:08:21 · 5518 阅读 · 0 评论 -
jquery操作笔记(滚动条篇)
$(selector).offset().top 获取匹配元素的距离顶部的坐标 以像素(px)计 $(selector).offset().left 获取匹配元素的距离左边的坐标 以像素(px)计如果要将滚动条跳到该元素的位置$(window).scrollTop($(selector).offset().top)$(window).scrollLeft($(sele...原创 2018-08-18 14:02:09 · 1189 阅读 · 1 评论 -
移动端软键盘监听和兼容性写法(h5)
移动端的软键盘可分两类,一类(下文以X代替)是会把底部固定的元素(position:fixed元素)上弹的,还有一类(下文以Y代替)是不会上弹的。这两类必须分开处理。h5是没有专门的软键盘事件的,只能自己模拟!监听X的软键盘事件,可以使用 window.onresize来监听 onresize 事件会在窗口或框架被调整大小时发生X底部固定的元素上弹是因为窗口变小了。 w...原创 2018-08-18 14:16:35 · 2644 阅读 · 0 评论 -
`${str}`是什么东西(JavaScript)
`${str}`是es6的新语法引号必须为``,不能是""或''正常的逻辑应该是let str = "xxx"console.log(`${str}`) //xxx相当于字符串拼接也可以延伸一下console.log(`0${str}`) //0xxx可以参考阮一峰的文档阮一峰文档...原创 2019-04-28 21:48:04 · 3409 阅读 · 0 评论 -
封装去除数据重复元素的几种方法(es6新方法和es6之前的老方法)
去除重复元素要分两类,一类是JSON数组,一类是普通数组JSON数组要注意一点,如果对象的指针指向不一样,那么就算属性完全相同,也不能算作重复元素,所以我这里根据对象的唯一标识判断是否重复上代码 Array.prototype.duplicate=function(isObj=false,prop){ if(isObj==false){ let set = new...原创 2019-03-19 14:49:54 · 892 阅读 · 0 评论