自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 什么是闭包?闭包有啥作用?闭包的应用有啥?内存优化?

闭包,是函数运行时所产生的机制!

2020-07-21 17:39:58 1863

原创 原型访问原理/优化(不要在代码运行时修改Object.prototype)

原型属性访问原理、原型属性访问优化,Object.prototype

2023-07-25 17:25:56 78

原创 js继承方式

js继承|es6继承constructor需要调用super

2023-07-10 22:06:07 71 1

原创 原型和原型链/原型链机制

原型/原型链/函数/对象

2023-07-10 18:17:21 65 1

原创 对象和数组的深克隆/深拷贝和浅克隆/浅拷贝

对象和数组的深克隆/深拷贝和浅克隆/浅拷贝

2023-07-07 18:43:02 99 1

原创 webpack(client)模板

webpack模板

2022-12-06 16:03:26 314

原创 js string生成dom节点

【代码】js string生成dom节点。

2022-11-28 16:31:07 307

原创 js发布订阅设计模式?事件池?

发布订阅发布订阅是在我们指定的某个阶段,通知我们事先规划好的方法执行。发布订阅的核心机制和事件池类似,只不过发布订阅是实现“自定义事件”的处理,而事件池是对内置事件的处理。事件池的特点基于addEventListener向事件池中注入一些方法,基于removeEventListener从事件池移除方法,当触发某个行为的时候,浏览器会通知这些指定的方法执行。比如说当触发点击事件执行func:document.body.addEventListener('click',func,false);发

2020-08-17 22:33:13 443

原创 js中数据类型检测有哪些?typeof、instanceof、constructor、Object.prototype.toString.call()?

js中的数据类型在检测数据类型之前先需要了解有哪些数据类型。主要有基本数据类型(7种)、和引用数据类型(2种)。总共9种数据类型。基本数据类型Number:包含整数和浮点数。String:双引号和单引号作用效果一样。Boolean:该类型只有两个值,true和false。Null:null类型被看做空对象指针,用 typeof 操作符去检测null类型的值时,结果是 object 类型。Undefined:声明了变量,但未给变量初始化值,那么这个变量的值就是undefined。Symbol:

2020-08-10 20:29:59 242

原创 函数的防抖和节流

函数的防抖防抖:一定时间内,事件在频繁的触发当中只能触发一次。如果你想要一个函数在频繁的点击触发中只执行一次,首先想到的是不是可以设置标识来判断,比如下面这个例子:防止频繁点击触发:可以设置标识进行判断,接下来都以点击btn按钮为例,点击按钮触发点击事件。<button id="btn">按钮</button>let isClick=false; //设置标识isClickbtn.onclick=function(){ if(isClick) return; //

2020-08-04 22:02:30 231

原创 js中对象的深度比较?重写Object.is?

对象的深度比较基本数据类型的值:基于 === 比较即可;函数比较:都转换为字符串再比较;对象比较: 正则和日期:都转换为字符串再比较; 普通对象/数组对象等: 先比较私有属性的个数,再分别遍历每个属性,看属性值是否一致 function _is(val1, val2) { const type1 = val1 === null ? 'null' : typeof val1; //首先获取数据类型 const type2 = val2

2020-07-28 11:00:03 345

原创 call、apply、bind用法及区别?bind call实现原理是什么?

call、apply、bind的用法,及改变this指向可以基于call/apply/bind等方式,强制手动改变函数中this的指向。call使用形式:【function】.call([context],params1,params2,…)【function】作为Function内置类的一个实例,可以基于__proto__找到Function.prototype的call方法,并且把找到的call方法执行;在call方法执行的时候,会把【function】执行,并把【function】中的thi

2020-07-25 22:31:13 276

原创 回调函数中的this?

回调函数中的this指向?回调函数中的this一般都是window,但是有特殊情况可以改变里面的this指向。首先先看看什么是回调函数吧。回调函数回调函数:把一个函数作为值传递给另一个函数,再在另一个函数中把这个函数执行(这是实现函数式编程重要的知识)。函数式编程:注重结果,不在乎过程,过程交给别人处理。命令式编程:注重过程,且需要自己实现过程。回调函数中的this:首来看一个例子:let obj = { i:0, func(){ setTimeout(function(){

2020-07-25 20:01:02 1895

原创 js中的this有几种情况?call/apply/bind改变this指向?

this?相信很多人刚开始学js的时候,常常会被this问题所困扰,this是啥?它有几种情况?this和执行上下文有什么关系?this:全局上下文的this是window;块级上下文中没有自己的this,它的this是继承所在上下文中的this(和箭头函数很像);在函数的私有上下文中,this的情况多种多样,这也是这篇文章的讨论目的。this是什么—说了这么多,this是什么呢?this是执行主体,而不是执行上下文 (执行上下文EC可以看看这篇博:https://www.jianshu.co

2020-07-25 18:01:00 386

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除