JavaScript进阶
文章平均质量分 93
一拳小和尚LXY
学而不思则罔
展开
-
这一次,彻底理解js原型和继承
先讲面向对象面向对象是一种编程思想,其重要特征就是多态和继承,通常涉及到类和类和类的实例(对象)、接口等概念。JavaScript中没有类,但是我们可以使用构造函数和原型模拟类的实现。js如何实现继承说到js的继承,那首先想到的肯定是原型链,实际上js中实现继承就是依赖原型链的机制,那么下面就让我们详细了解一下原型链。什么是原型链ECMAScript中描述了原型链的概念,并将原型链作为实现继承的主要方法。其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。简单回顾一下构造函数、原型原创 2021-01-25 14:40:49 · 121 阅读 · 0 评论 -
观察者模式(JavaScript实现)
介绍观察者模式中通常有两个模型,一个观察者(observer)和一个被观察者(Observed)。从字面意思上理解,即被观察者发生某些行为或者变化时,会通知观察者,观察者根据此行为或者变化做出处理。那么具体如何操作呢,下面????我们就用JavaScript代码实现一个观察者模式。实现观察者模式JS实现let observer_ids=0;let observed_ids=0;//观察者类...原创 2020-04-22 16:30:43 · 1499 阅读 · 1 评论 -
JavaScript运行时上下文和调用栈的理解(涉及var和let、const的原理)
首先是对运行时上下文和调用栈的关系及其运行过程的理解:运行时上下文理解为运行时的当前运行环境,而JavaScript代码的执行是执行栈来完成,执行栈又称为调用栈,后面一律称为调用栈。调用栈正如其名字一样是一个LIFO的栈结构,即后进先出。我们把调用栈的运行理解为上下文的进出栈过程,即先入栈的上下文就后出栈。例子:var a = 'Hello World!';function ...原创 2019-06-03 16:29:16 · 847 阅读 · 0 评论 -
Leetcode算法修炼(六)数组的交集
题目描述给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的顺...原创 2019-08-18 11:40:19 · 102 阅读 · 0 评论