![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
文章平均质量分 72
一只蒻蒻
一只不知名的前端爱好者
展开
-
JS 常用的六种设计模式介绍
常用设计模式前言我们经常听到一句话,“写代码要有良好的封装,要高内聚,低耦合”。究竟怎样的代码才算得上是良好的代码。什么是高内聚,低耦合?即五大基本原则(SOLID)的简写高层模块不依赖底层模块,即为依赖反转原则。内部修改关闭,外部扩展开放,即为开放封闭原则。聚合单一功能,即为单一功能原则。低知识要求,对外接口简单,即为迪米特法则。耦合多个接口,不如独立拆分,即为接口隔离原则。合成复用,子类继承可替换父类,即为里式替换原则我们为什么要封装代码?其实封原创 2022-02-07 23:17:49 · 6855 阅读 · 0 评论 -
JavaScript 函数式编程——入门指南
JavaScript 函数式编程一、什么是函数式编程**定义:**函数式编程是一种编程范式,将整个程序都由函数调用以及函数组合构成。可以看成一条流水线,数据可以不断地从一个函数的输出流入另一个函数的输入,最后输出结果。1.1 从例子了解函数式编程要求:字符串数组变成一个对象数组,并对人名进行转换。['john-reese', 'harold-finch', 'sameen-shaw'] // 转换成 [{name: 'John Reese'}, {name: 'Harold Finch'}原创 2021-10-23 21:26:46 · 451 阅读 · 0 评论 -
js怎么实现继承
js怎么实现继承一、原型链继承将父类的实例作为子类的原型,这样根据原型链,子类就可以访问到父类的属性和方法。function Parent() { this.isShow = true this.info = { name: "yhd", age: 18, };}Parent.prototype.getInfo = function() { console.log(this.info); console.log(this.isShow);原创 2021-03-13 15:13:26 · 167 阅读 · 0 评论 -
js事件委托、事件冒泡和捕获
事件冒泡和捕获事件冒泡是指,事件会从最内层的元素开始发生,一直向上传播,直到document对象。事件冒泡可以形象地比喻为把一颗石头投入水中,泡泡会一直从水底冒出水面。而事件捕获与事件冒泡相反,事件会从最外层开始发生,直到最具体的元素。以该例子为例:<div id="outer"> <p id="inner">Click me!</p></div>p标签发生点击事件时:事件冒泡:p -> div -> body ->原创 2021-03-13 14:33:12 · 235 阅读 · 0 评论 -
【手撕原理】前端面试题 手写call、apply、bind方法
手写call 、apply 、bind方法实现call方法思路1.在Function原型上增加_call方法,接受两个参数。第一个参数为指定的this值,默认值为window;第二个参数使用剩余运算符展开,获取参数列表。2.将函数this设置为context对象的属性,通过隐式绑定的方式调用函数,把context上的属性删了,并返回函数调用的返回值这里的原理是:this指向调用它的对象,这是是context调用,所以this指向了context。为什么要删除context上的属性。防止原创 2021-03-03 12:58:19 · 426 阅读 · 2 评论 -
一篇文章 带你理解JavaScript的事件循环!
Tasks, microtasks, queues and schedules看不懂英文的话,可以用Google翻译原创 2021-03-02 17:31:13 · 93 阅读 · 0 评论 -
ES6 Promise总结
2 Promise通过Promise对象,将异步操作以同步操作的流程表达出来,避免层层嵌套的回调函数。2.1 Promise的基本使用 var succeed = false; // 1、创建Promise实例 new Promise((resolve, reject) => { // 2、判断请求情况 // 如果异步请求成功 if (succeed) { resolve("ruoruochen niubi");原创 2021-03-02 15:15:55 · 157 阅读 · 0 评论 -
JavaScript 什么是闭包
JavaScript 什么是闭包?闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,创建的函数可以访问到当前函数的局部变量。闭包有两个常用的用途。1.使我们在函数外部能够访问到函数内部的变量。通过使用闭包,我们可以通过在外部调用闭包函数,从而在外部访问到函数内部的变量,可以使用这种方法来创建私有变量。2.使已经运行结束的函数上下文中的变量对象继续留在内存中,因为闭包函数保留了这个变量对象的引用,所以这个变量对象不会被回收。其实闭包的本质就是作用域原创 2021-02-22 18:19:06 · 111 阅读 · 0 评论 -
js正则表达式(RegExp)总结
文章目录正则表达式1.js的RegExp对象1.1 创建RegExp对象1.2 匹配方法2.正则常见语法2.1 匹配模式2.2 元字符2.3 量词2.4 边界符2.5 分组2.6 优先级顺序正则表达式正则表达式是用于匹配字符串中字符组合的模式,即实现对字符串中的信息进行查找、替换和提取操作。下面是我对js中正则表达式的整理与总结。如果大家发现文章中有问题,欢迎大家在评论中指正。1.js的RegExp对象js通过内置对象RegExp支持正则表达式,有2种方法实例化RegExp对象:1.字面量 2.原创 2021-02-16 20:57:13 · 3302 阅读 · 0 评论 -
2021JavaScript面试题(最新)不定时更新(2021.11.6更新)
介绍 JavaScript的数据类型。1.有两种2.分两种展开说JavaScript的数据类型分为俩种,一种是基本数据类型,一种是引用数据类型1.基本数据类型js 一共有六种基本数据类型,分别是 Undefined、Null、Boolean、Number、String,还有在 ES6 中新增的 Symbol 类型。Symbol 代表创建后独一无二且不可变的数据类型,它的出现我认为主要是为了解决可能出现的全局变量冲突的问题。2.引用数据类型引用数据类型统称为 Object 对象,主要包括对象原创 2021-02-16 19:02:08 · 43729 阅读 · 16 评论 -
js 数组、字符串常用函数总结
文章目录数组、字符串常用函数1.数组常用函数splice函数(改变原始数组)slice函数(不改变原始数组,创建新数组)join函数concat函数indexOf函数includes函数2.字符串常用函数split 函数substr函数replace函数3.数组和字符串相似方法总结:数组、字符串常用函数一个函数,我们需要了解他的作用、语法、参数、返回值。1.数组常用函数splice函数slice函数join函数concat函数indexOf函数includes函数splice函数(改原创 2021-02-16 13:34:38 · 354 阅读 · 0 评论 -
前端面试常考的六大排序算法 JavaScript实现
文章目录选择排序基本思想代码实现优劣优点:缺点:冒泡排序基本思想代码实现优劣优点:缺点:插入排序基本思想代码实现优劣优点:缺点:快速排序基本思路代码实现优劣归并排序基本思想代码实现优劣优点:缺点:堆排序基本思想代码实现优劣优点:缺点:要求:手写+描述思路选择排序基本思想遍历length-1次,每一次从左往右找,每遍历一次,将最小值跟当前遍历的第一个元素交换。代码实现function selectSort(arr) { for (let i = 0; i < arr.length; i+原创 2021-02-15 22:47:39 · 212 阅读 · 0 评论 -
介绍一下JavaScript 原型、原型链?原型链有什么特点?
介绍一下JavaScript 原型、原型链?原型链有什么特点?构造函数原型 prototype对象原型 __ proto __回答思路:1.构造函数原型2.对象原型3.原型链4.原型链的特点在 js 中我们是使用构造函数来新建一个对象的,每一个构造函数的内部都有一个 prototype 属性,指向另一个对象,这个对象包含了可以由该构造函数的所有实例共享的属性和方法。当我们使用构造函数新建一个对象后,在这个对象的内部将包含一个指针,这个指针指向构造函数的 prototype 属性对应的值原创 2021-02-13 16:51:35 · 1159 阅读 · 2 评论