随笔分类 - js基础
flat 拍平数组 手写flat拍平数组
摘要:// flat 拍平一维数组 let flaoatArr = [1, 3, 5, 6, 3, 6, [3, 46, 465, 3]] let res = flat(flaoatArr) console.log(res); let res = flaoatArr.flat() console.log(
浅谈闭包(防抖,节流,函数柯里化)
摘要:闭包参考文章 谈谈你对闭包的理解 概念: (1) 闭包就是引用了另一个函数的变量的函数 (2) 闭包一般是函数嵌套,一个函数返回另外一个函数,内部函数访问外部函数的变量就形成了一个闭包 作用(优点): (3) 闭包的优点是可以私有化变量,将变量私有化到函数内部,并在私有化的基础上进行数据保持 用途:
获取月份的最后一天
摘要:new Date(year, month, 0).getDate() // 获取月份的最后一天 let now = new Date() let year = now.getFullYear() let month = now.getMonth() - 1 function lastMonthday
判断数组
摘要:判断数组 1.通过Array.isArray()判断 Array.isArray()用于确定传递的值是否是一个数组,返回一个布尔值 let a = [7,8,9]; Array.isArray(a); //true 2.通过instanceof判断 instanceof运算符用于检验构造函数的pro
数字转大写金额
摘要:toChinese(n) { if (n 0) return "零"; if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) return ""; var unit = "仟佰拾亿仟佰拾万仟佰拾元角分", str = ""; n += "00"; var p = n.inde
this的指向及改变
摘要:this的指向 谁调用,指向谁 (指向当前调用的直接上级) 箭头函数的this指向调用它的上一级 改变this的指向 call,apply call为fn提供了改变this的机会,此时的this也就是obj对象。 var name = "听风是风", obj = { name: 'echo' };
深拷贝浅拷贝
摘要:深拷贝浅拷贝 浅拷贝:会根据赋值的只变化而变化 深拷贝:之前赋值的值改变不会影响现在的值 单层json对象 用... let arr2 = [...arr1] let obj2 = {...obj1} 单层json对象 用object.assign({},thid.data) 多层json 用 JS
以月份为单位,时间跨度不能超过12个月
摘要:百度好久,都没找到自己满意得,然后自己就一个一个计算,发现两数相减之差大于等于100就是超了12个月,遂应用到项目中 一般以月份为单位得我们获取到的值是202302和202202,我们拿结束值减去起始值,大于100的就是不符合条件的 再次想起来时间跨度不能超过6个月,只是逻辑可能还有更简单的 先判断
判断字符串是否是xx开头
摘要:判断字符串是否是xx开头 后端给这个需求的时候,我说好的,没问题,我这边字符串根据长度截取下进行判断,后端小哥哥说不用这么麻烦的,有个startsWidth()函数可以的,我就疑惑的问他,你说的不会是Java的吧,小哥哥说不是,是vue的,哈哈哈,后端觉得前端就是vue了,其实应该是js,谢谢小哥哥
splice和slice的区别
摘要:splice和slice的区别 关于这两个常用的用法 splice常用来删除数组中的某一项 会改变原数组的长度 适用于 数组 slice用来截取数组中的某一段 不会改变原数组的长度 适用于 数组、字符串 两个最大的不同就是 对原数组的改变,如果不考虑原数组的改变用哪个都行,arr.slice()和a
发现splice的新大陆
摘要:提到splice()方法,大家想到的是啥??js数组中的删除某一项嘛,没错,今天有人给我说用这个还可以实现数组的复制,确实惊艳到我了,一起看看吧 上代码 众所周知的: // 删除 var arr = [1,2,3]; arr.splice(0,1); console.log(arr) //[2,3]
前端中关于堆和栈的那些事
摘要:前端中关于堆和栈的那些事 写在前面:关于堆和栈,概念知道,但是该怎么应用呢,我自己本身是第三遍才更加深刻的明白,第一遍是知道什么是堆和栈,第二遍是在应用时懵逼了,第三遍是刷视频和自己练习时有了醍醐灌顶的感觉。 栈 内存:里面的数据不能长期存在,一般存在运行的函数或者局部变量(基本类型) 堆 内存:
冒泡排序
摘要:冒泡排序的原理 (例,从小到大进行排序) 原理:依次比较两个相邻元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来,交换位置将大的(数字、字母)放到后面 核心原理: 需要两层循环: 第一层循环外层循环,表示需要排序的次数,排序次数为数组length-1次,从第一次开始循环。 第二