
JavaScript
文章平均质量分 73
通过图形化的方式分享JS知识
Mr.Kleo
知行合一
展开
-
JavaScript的四种this绑定
绑定规则绑定情况与举例this绑定的优先级绑定情况与举例this的情况与每种情况对应的例子 1.以函数形式调用时,this永远都是window(默认绑定) function test() { console.log(this); // window对象 } test(); 2.以方法的形式调用时,this是调用方法的对象(隐式绑定)let per = { name: 'leo', // 普通写法 skill_1: func原创 2021-07-31 11:19:34 · 155 阅读 · 0 评论 -
JavaScript事件循环
事件循环、宏任务与微任务单线程什么是同步与异步单线程事件循环process.nextTick 与 setImmediate 方法(需要在 node 中运行)过程描述(重点!)加上之前的方法进行描述宏任务与微任务单线程什么是同步与异步异步 1. 计时器(`setTimeout、setInterval`) 2. ajax 3. 读取文件同步程序执行完成后,执行异步程序单线程JS是单线程的,一个任务完成之后才能执行另一个任务for(let i = 0; i < 2000; i+原创 2021-07-31 09:03:56 · 266 阅读 · 1 评论 -
JavaScript闭包
JS闭包闭包是什么闭包的产生时间如何产生闭包使用回调函数,就是使用闭包闭包的作用闭包是什么阮一峰大神定义:闭包就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。或者闭包是指有权访问另外一个函数作用域中的变量的函数闭包的产生时间例:function fn1() { var a = 2; var原创 2021-07-27 10:15:36 · 171 阅读 · 0 评论 -
JavaScript迭代器
迭代器初始迭代器可迭代协议迭代器协议自定义迭代器ES5ES6初始迭代器说到迭代器,大家是不是马上就能想到Array、Map、Set这些名词呢?所以这些就是迭代器。。。。。吧?答案是:错!惊不惊喜?意不意外?说到迭代器这个概念,首先我们应该明确:迭代器(Iterator)只是一个接口,而Array、Set、Map是我们熟知的不同的数据结构,而这些数据结构他们原生的就已经实现了这个Iterator接口。除开这几个数据结构,还有String、Arguments、TypedArray以及DOM中的Node原创 2021-07-25 14:16:37 · 190 阅读 · 0 评论 -
JavaScript原型(下)
委托Object.create()Object.create(null)创建关联,制造委托(对象与对象之间)“类”与“委托”的对比关于constructor属性Object.create()我们常见的创建对象的方式有两种,一种是通过new Object(),一种是通过对象字面量的形式。而这里我们还会再介绍的另外一种方式 —— Object.create()Object.create(null)let empty_obj = {};let better_empty_obj = Object.crea原创 2021-07-21 10:14:19 · 204 阅读 · 0 评论 -
JavaScript原型(中)
原型链原型链实现继承扩展问题(new原理)属性设置与屏蔽隐式屏蔽原型链实现继承在面向对象的语言中都存在一个大家熟悉的词 —— 继承。那在JS中也同样存在继承这个概念,在ES6之前,JS还没有提出class的概念。这时候,JS是通过什么来实现继承的呢?答案就是:原型链通过一段代码认识下原型链function Father() { this.fatherage = 45;};Father.prototype.getFatherAge = function() { return this.f原创 2021-07-19 17:42:51 · 110 阅读 · 2 评论 -
JavaScript原型(上)
原型原型模式原型链原型的动态性原型模式在重复性构建对象时,我们通常会采用工厂模式与构造函数模式// 工厂模式function createPerson(name,age) { let o = new Object(); o.name = name; o.age = age; o.sayName = function() { console.log(this.name); } return o;}let person1 = crea原创 2021-07-08 00:45:27 · 101 阅读 · 0 评论 -
什么是JavaScript对象?对JS对象你有多少了解?
一句话概括:JS对象是一组无序属性的集合!这里的key可以是任何有效的 JavaScript 字符串,或者可以被转换为字符串的任何类型,包括空字符串;而value可以是数据或者函数在JavaScript中,所有的对象都是Object函数的实例注意:这里的Function.prototype是一个函数,而Array.prototype是一个数组!是不是很残忍?(这打破了我们惯性思维的认为原型对象的typeof就一定是object)console.log(typeof Function.pr.原创 2021-07-04 19:30:16 · 431 阅读 · 0 评论