- 博客(5)
- 收藏
- 关注
原创 正则表达式(Regular Expression)基础使用、贪婪性、懒惰性以及常用方法
正则表达式(Regular Expression) 正则表达式是处理字符串的规则 正则表达式只能处理字符串 test => 它是一个规则,验证某个字符串是否符合某规则 exec/match => 捕获字符串里面符合规则的内容捕获出来 所以学习正则就是为了创造规则 let str = "abcdefg"; let reg = /\d+/; // 创建规则来判断 reg.test(str) // => false // 捕获 str = "2020-10-15"; reg.exec(str
2020-12-19 23:38:28 590 1
原创 call()、apply()和bind()手写+分析
一、call() call()方法被调用的时候到底做了什么,以func.call(obj, param1, param2, param3)为例: 执行call,并且call的this是点前面的函数func 立即执行func,并且func的this是传递进去的第一个参数obj,其他的参数…params一个个传递给func 怎么让执行func的时候,this是obj呢?答案是给obj[‘func’] = func,然后obj[‘func’]()就可以了。 但是要注意!!给obj添加属性的时候应该考虑该属
2020-09-01 22:59:22 145
原创 new和Object.create()手写+分析
一、new “new XXX类”的时候到底做了什么呢? 创建了一个对象 让这个实例对象的__proto__ (隐式原型)指向类的prototype(显式原型) 对象天生会有一个属性__proto__,一般实例对象的__proto__会指向把它new出来的类的prototype 不明确是谁new出来的实例,那它的__proto__指向Object的prototype 为什么要这样呢?打个比方,小红的妈妈是Mother类的一个实例,Mother类原型上有一个方法----唠叨。那当小红的妈妈.唠叨的时候
2020-09-01 15:00:08 372
原创 函数的防抖和节流(手写+分析)
一、函数防抖 函数防抖的目的–对于频繁触发的某个操作,我们只识别一次,那么函数防抖的要素就来了: 要被防抖的函数 “频繁”的界限 识别的是频繁操作的第一次还是最后一次 所以可以得出防抖函数的大框架: /* * @params * func:要被防抖,最后执行的函数 * wait:“频繁”的时间界限 * immediate:识别第一次,还是最后一次 * @return * 给要最终执行的func包一层匿名函数 */ function debounce(
2020-08-27 16:50:35 260
原创 ES6 函数形参默认值--大坑
ES6 函数形参默认值–块级上下文大坑 一、首先这个大坑是什么、怎么形成的呢? 在新版本浏览器中函数执行时,如果形参有默认值(不论函数执行时是否传值),且在函数体中还基于let、const、var声明了变量,那么除了默认形成的函数执行上下文还会多创建一个块级私有上下文。 多一个块级执行上下文能有多大亿点事呢?看看下面两段代码~ //代码段1 var x = 1; function func(x,y=function anonymousl(){x=2}) { x = 3; y();
2020-08-21 23:34:39 273
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人