JS
文章平均质量分 79
橘右溪
时光不负有心人,星光不问赶路人
掘金:https://juejin.cn/user/4248168662053245
展开
-
JS中的NaN
为什么说isNaN()不是用来判断是不是NaN这个值的呢?JavaScript中,NaN是一个特殊的数字值(typeof NaN的结果为number),是not a number的缩写,表示不是一个合法的数字。方法二:值是否与本身不相等(NaN是唯一有这样特征的值)方法一:将isNaN()和typeof结合来判断。参考:《深入理解JavaScript》一个不能被解析的数字。3. 如何辨别NaN。原创 2024-04-19 18:48:30 · 180 阅读 · 0 评论 -
Vue项目中较优雅地封装Echarts
可视化项目大大较少代码原创 2021-11-22 16:08:10 · 531 阅读 · 2 评论 -
灵活例子彻底搞懂reduce
8个JS的reduce使用实例,和reduce的骚操作reduce方法是JavaScript中一个比较强大的方法,可能在平时开发中,有人根本没用过,通过下面的8个例子,学会reduce的用法以及它的常用场景。reduce方法是一个数组的迭代方法,和map、filter不同,reduce方法可缓存一个变量,迭代时我们可以操作这个变量,然后返回它。这是我大白话的解释,可能还是不容易理解,下面看例子吧1. 数组累加数组累加是项目经常遇到的,比如计算商品总价等,使用reduce就可以一行代码..原创 2021-11-10 16:54:15 · 221 阅读 · 0 评论 -
33个非常实用的JavaScript一行代码
值得收藏!最近在国外技术社区看到了一些关于一行代码的文章,感觉很有意思,就整理了一下来分享给大家,希望对你有所帮助~这些方法使用到了一些API,简化了操作,但是有些方法写一行属实不太优雅,所以这里主要还是学习API的使用技巧!一、日期处理1. 检察日期是否有效该方法用于检测给出的日期是否有效:constisDateValid=(...val)=>!Number.isNaN(newDate(...val).valueOf());isDateValid("De...转载 2021-11-02 16:23:54 · 266 阅读 · 0 评论 -
【中高级前端】必备,30+高频手写题及详细答案(万字长文),看“你”怎么难倒我
前言写个快排吧、能手写一个Promise吗?、来一个深拷贝...相信大家已经不止一次在面试或者日常业务中遇到这样的题目了,每当现场写代码时感觉似曾相识,但就是写不出来,期望的offer也离我们远去o(╥﹏╥)o。来,兄弟们卷起来,日计不足,岁计有余,咱们每天学一个,看那些面试官还怎么难倒我们!!!哼哼哼点击查看日拱一题源码地址(目前已有51+个手写题实现)1. 实现instanceOf的3种方式instanceof运算符用于检测构造函数的prototype属性是否出现在某...转载 2021-10-13 19:33:54 · 229 阅读 · 0 评论 -
有个开发者总结这 15 优雅的 JavaScript 个技巧
有个开发者总结这 15 优雅的 JavaScript 个技巧JavaScript 有很多很酷的特性,大多数初学者和中级开发人员都不知道。今天分享一些,我经常在项目中使用一些技巧。1. 有条件地向对象添加属性我们可以使用展开运算符号(...)来有条件地向 JS 对象快速添加属性。const condition = true;const person = { id: 1, name: 'John Doe', ...(condition && { age: 16 }转载 2021-10-12 14:10:09 · 82 阅读 · 0 评论 -
【建议收藏】徒手实现24+数组方法,谁说你只是“会用”数组?
【建议收藏】徒手实现24+数组方法,谁说你只是“会用”数组?前言数组是我们日常工作中用的最频繁的一类数据结构,能帮助我们解决许多问题,而其本身也包含接近33个之多的方法,做了一个脑图分类如下,熟练使用数组的你,是否想知道他们内部的实现原理呢?这篇文章会和你一起探究24+原生数组方法的内部实现,相信你看完一定会有属于自己不一样的收获。遍历类1. forEach基本使用forEach一个日常用的非常多的遍历函数,你一定熟悉到不能再熟悉啦!这里我们着重看一些比较重要且容易忽略..转载 2021-10-08 16:45:13 · 824 阅读 · 0 评论 -
浅拷贝的五种实现方式
浅拷贝的五种实现方式浅拷贝与深拷贝是一道经久不衰的面试题,今日先总结一下有哪些浅拷贝的方式,以及各自的优缺点首先,看一下什么是浅拷贝自己创建一个新的对象,来接受你要重新复制或引用的对象值。如果对象属性是基本的数据类型,复制的就是基本类型的值给新对象;但如果属性是引用数据类型,复制的就是内存中的地址,如果其中一个对象改变了这个内存中的地址,肯定会影响到另一个对象。Object.assignObject.assign 是 Object 的一个方法,该方法可以用于 JS 对象的合并等多个用转载 2021-10-03 15:57:58 · 12860 阅读 · 0 评论 -
手把手教你在 Vue 中使用 JSX,不怕学不会!【建议收藏】
学习这篇文章希望您已经具备以下知识: vue.js的基本使用对前端三件套(html、css、js)已经可以熟练使用了 文末有配套demo代码:点我直达 JSX是什么 JSX 是一种 Javascript 的语法扩展,JSX = Javascrip...转载 2021-09-28 17:40:03 · 1540 阅读 · 0 评论 -
slice()、 substring()和substr()的区别
方法参数返回值slice(start, end)start(必需) -起始位置;end(可选)-结束位置,若未指定,则默认到末尾所有元素返回 [start,end)之间的元素substring(start, end)start(必需) -起始位置;end(可选)-结束位置,若未指定,则默认到末尾所有元素返回 [start,end)之间的元素substr(st...原创 2020-03-19 23:25:18 · 269 阅读 · 0 评论 -
阻止事件冒泡,阻止默认事件,event.stopPropagation()和event.preventDefault(),return false的区别
今天来看看前端的冒泡和事件默认事件如何处理1.event.stopPropagation()方法这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开,2.event.preventDefault()方法这是阻止默...转载 2020-03-15 20:55:41 · 174 阅读 · 0 评论 -
正则表达式如何匹配一个字符串是IP地址
这里给大家详细讲解一下一个匹配IP地址的正则表达式。在讲解之前,我先给大家介绍一下,ip地址的生成规则。IP地址,是由32位数字二进制转为四个十进制的字符串组成。怎么转化?下面讲解: 二进制:11111111111111111111111111111111 分为四部分:11111111.11111111.11111111.11111111 转化...原创 2020-03-07 19:28:18 · 4403 阅读 · 0 评论 -
Ajax、fetch、axios的区别与优缺点
背景前端的技术发展速度非...转载 2020-01-19 19:35:22 · 7806 阅读 · 1 评论 -
函数柯里化
函数柯里化 主要解决以下问题 :实现add()方法,使计算结果能够满足如下预期: add(1)(2)(3) = 6; add(1, 2, 3)(4) = 10; add(1)(2)(3)(4)(5) = 15;function add() { // 第一次执行时,定义一个数组专门用来存储所有的参数 var _args =...原创 2019-10-19 13:09:27 · 98 阅读 · 0 评论 -
深拷贝与浅拷贝
浅拷贝是地址引用,当其中一个对象变化时,另外一个对象跟着变化;深拷贝在创建对象时分配内存地址,现对象变化与原对象无关。实现深拷贝的几种方法:1. 递归function deepClone(obj){ let data; if(Object.prototype.toString.call(obj)==='[Object Array]'){ data=[]; for(let...原创 2019-10-18 15:43:47 · 67 阅读 · 0 评论