自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 发布-订阅模式

发布订阅 是一种消息范式,消息的发送者(称为发布者)不会将消息直接发送给特定的接收者(称为订阅者)。而是将发布的消息分为不同的类别,无需了解哪些订阅者(如果有的话)可能存在。同样的,订阅者可以表达对一个或多个类别的兴趣,只接收感兴趣的消息,无需了解哪些发布者(如果有的话)存在。 手动实现发布订阅的事例 //发布订阅模型 let SubPub = function() { this.pubList = {}; //添加订阅 this.addPub = function(event, cal

2022-05-27 16:39:07 135

原创 什么是JavaScript的事件循环?Promise对象怎么使用?异步编程怎么实现?

JS是单线程的 原因 JS是浏览器脚本语言,要和用户做频繁的实时互动和对dom进行操作,多线程会带来很复杂的同步问题。 如:线程1准备更新某个p标签,这时线程2将该p标签删除了,这就带来程序运行的错误。 alert函数 alert函数会暂停当前主程序的执行,同时暂停计时,点击确定后恢复。 事件轮询机制 JS代码从进程的角度可分为初始化代码和回调代码,所有代码都在执行栈中执行。js引擎启动后先把初始化代码全部执行一遍(包含一些特别代码,设置定时器、绑定事件监听、发送ajax请求),随后才可能执行

2022-05-16 13:15:00 129

原创 搞懂JavaScript中的this关键字的指向

一般情况 谁调用函数,里面的this就指向谁,这里包括两种情况: 某个对象调用函数,obj1.fun1(),此时this指向该对象obj1; 直接执行某个函数其实就相当于全局变量windows调用该函数:windows.fun1(),此时this指向windows对象; 特殊情况 1.构造函数中的this,在通过new实例化时,会指向构造函数所创建的实例对象; 2.事件中的this指向绑定事件的DOM对象(注意不一定是触发事件的对象,即有可能事件绑定在祖先元素上,而触发事件的对象是它的后代元素)

2022-05-14 16:45:00 149

原创 闭包与立即执行函数的相关概念梳理

闭包 概念 当在函数内定义函数时,将内部函数作为返回值称该内部函数为闭包。闭包可以使用外部函数的变量,这样一来,当外部函数执行完毕后,相关变量并不会被销毁,可以被返回出来的内部函数调用。 function outerFun() { let n = 10; function innerFun() { //内部函数 console.log(n); //使用了外部函数outerFun的变量 } return innerFun; //作为闭包被返回 } const f

2022-05-12 05:45:00 183

原创 JavaScript中如何实现对象拷贝-浅拷贝和深拷贝

对于对象的浅拷贝 对于对象中由原始类型定义的属性可以完整拷贝,而引用类型定义的属性则不能 let obj1 = { name:'bob', age:12, dog:{ name:'wowo' } } //方法1,自己写函数 function copyObj(obj){ let newObj = {}; for(let i in obj){ newObj[i] = obj[i]; } return newObj; } let newObj = copyO

2022-05-11 09:15:00 313

原创 JavaScript中面向对象编程的的一些概念-原型-构造函数等

类的定义,实例化,继承 ES5 function ListNode(value,next) { //类的定义 this.val = value; this.next = next; this.getVal = function(){ return val; } } node1 = new ListNode(10,null); //实例化 function DoubleListNode(pre) { //类的继承 this.pre

2022-05-10 21:22:30 197

原创 JS中的数据类型

引用类型与原始类型 原始类型(也叫基本数据类型)包括: Number,String,Boolean,Null,Undefined、BigInt、Symbol; 引用类型(也叫复杂数据类型)包括: 所有的类 补充: Symbol是ES6新出的一种数据类型,这种数据类型的特点就是没有重复的数据,可以作为object的key。 数据的创建方法Symbol(),因为它的构造函数不够完整,所以不能使用new Symbol()创建数据。由于Symbol()创建数据具有唯一性,所以 Symbol() !==

2022-05-10 20:40:19 81

空空如也

空空如也

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

TA关注的人

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