JavaScript
文章平均质量分 68
嗜码
公号『嗜码』作者
展开
-
前端开发者必须知道的 10 个 GitHub 仓库
内容整理自 @ravikmmr 的 Twitter Thread。1、Developer-roadmap初学者如果想学习前端开发,但是不知道从何学起,推荐查看此仓库。你可以获得有关开发的所有学习路线,笔者在之前的文章中对其进行过翻译。2、FreeCodeCamp一个友好的社区,为 Web 开发人员提供了大量的视频讲座以及课程资源,可以在其中免费学习编程。3、Ebook foundation一个非常大的计算机电子书资源库,所有的资源均为免费。4、30 seconds of code.原创 2021-08-22 09:36:42 · 960 阅读 · 0 评论 -
2021 年我会选择去了解和学习的技术
笔者毕业以后大概率是选择前端这个方向,这里列一下今年准备学习的内容,算作一个 Learning List 吧。每一项都尽量给自己定一个小目标,有的可以浅尝辄止,有的则需要深入学习。1、DockerDocker 容器的概念火了很久了,一直没有接触过。刚好在公司需要频繁的使用云机,项目的初始化环境配置比较复杂,想着是否能够使用 docker 来简化这些配置,提高工作效率。目标:学会配置、构建镜像、推送镜像学习一点 k8s 的知识把 linux 的一些常用命令以及 vim 的常用快捷键给原创 2021-01-24 11:04:10 · 162 阅读 · 0 评论 -
2020 前端学习路线总结
2020 前端学习路线总结在 GitHub 看到一个很不错的前端学习路线图(roadmap),从前端基础到前端工程化,再到跨端,都有知识点的覆盖,非常推荐阅读。图下面是我翻译的一个文字版,可以先看图再看文字。✔︎ 表示个人推荐学习✔︎ 表示可选择学习✔︎ 表示不需要严格按照路线的先后顺序,可在任何时间补充这一块的知识✘ 表示个人不再推荐计算机网络掌握计算机网络的基础是一名前端工程师的基本素养,建议先学习以下的知识: ✔︎ Internet 如何工作 ✔..原创 2020-11-15 17:19:56 · 2654 阅读 · 0 评论 -
前端面试手写题
前端面试手写题整理前端面试常见的手写题,面试出现概率极高,建议每个都过自己过一遍。你也可以提交 PR,提供你面试遇到的题目。高频:★★★ 中频:★★ 低频:★ JavaScript 原理实现 bind() ★★实现 apply() ★★实现 call() ★★实现 instanceof ★实现 new ★实现 jsonp ★★★实现 Promise ★★★实现 Promise.all() ★★★实现 Promise.race() ★实现 EventEmitter 订阅监听模原创 2020-11-08 20:48:17 · 1285 阅读 · 1 评论 -
DOM 事件和 React 事件的区别,如何正确的阻止冒泡
DOM 事件和 React 事件的区别,如何正确的阻止冒泡DOM 的事件一般会先后经历捕获与冒泡两个阶段,捕获事件是沿着 DOM 树由上往下传递,到达触发事件的元素(target)后,事件开始冒泡,沿着 DOM 树继续向上传递。IE 9 之前的只支持冒泡以这段代码为例:<div class="outer"> <div class="inner"> inner </div></div>如果点击了 inner,事件是如何传递的呢?原创 2020-10-22 20:43:19 · 408 阅读 · 0 评论 -
前端面试常见手写题整理
前端面试手写题整理前端面试常见的手写题,面试出现概率极高,建议每个都过自己过一遍,加深印象。你可以 watch 一下这个 GitHub 仓库,会持续收集、整理和维护。实现 bind()Function.prototype.MyBind = function (context, ...args) { let self = this; return function() { return self.apply(context, args); }}// testlet a =原创 2020-10-17 09:28:18 · 2479 阅读 · 0 评论 -
如何删除项目的 node_modules 文件夹
方法一:全局安装 rimraf,这是一个删除文件的 node 命令行工具。npm install rimraf -g然后执行下面的命令删除 node_modules 文件夹。rimraf node_modules这个方法适用于 Windows、macOS、Linux方法二:macOS、Linux 系统可以使用 rm 命令进行删除。rm -r node_modules...原创 2020-10-14 14:06:04 · 5383 阅读 · 0 评论 -
JavaScript 的装箱与拆箱总结
今天学习了 Winter 老师的专栏 《重学前端》,看到了「拆箱」「装箱」的概念,看完之后不是很懂。于是去查了一波资料,总结记录一下。首先简单说说什么是装箱和拆箱。所谓装箱,就是把基本数据类型转换为对应的引用类型的过程。而拆箱与装箱相反,即把引用类型转换为基本的数据类型。装箱先来看看 JavaScript 的装箱过程,代码如下:var p1 = 3.14159;var p2 = p1....原创 2020-04-16 11:42:20 · 488 阅读 · 0 评论 -
说说 JavaScript 中的 async 和 await
ES7 引入了 async/await,这是 JavaScript 异步编程的一个比较大的改进。我们可以像写同步代码一些编写异步代码,避免了回调地狱,同时也代码也比 Promise 更易于阅读。async 和 await 也是面试经常被问到的东西,之前一直只限于会用,并不太理解内部的实现原理。今天就来好好探究探究,JavaScript 中的 async 和 await 到底是怎么工作的。asy...原创 2020-04-14 23:24:24 · 395 阅读 · 0 评论 -
JavaScript 字符串处理——重复指定倍数的字符串
今天刷题,有个地方需要将某个字符串重复n次返回,可以使用 for 循环进行 concat,后面发现JavaScript中有一个指定重复字符串的方法。语法/** * str: String * count: Number */let resultString = str.repeat(count);例子"abc".repeat(-1) // RangeError: r...原创 2020-01-06 15:46:37 · 1409 阅读 · 0 评论 -
一图理解 JavaScript 中 map、foreach、reduce 间的区别
原链接:https://www.zhihu.com/question/24927450转载 2019-10-21 20:08:16 · 222 阅读 · 0 评论 -
exports、module.exports 和 export、export default 到底是咋回事
exports、module.exports 和 export、export default 到底是咋回事前言难得有空,今天开始重新规范的学习一下node编程。但是引入模块我看到用 require的方式,再联想到咱们的ES6各种export 、export default。阿西吧,头都大了....头大完了,那我们坐下先理理他们的使用范围。require: node 和 es6 都支持...转载 2019-10-08 14:07:29 · 175 阅读 · 0 评论 -
JavaScript中的Web Work
Web WorkerWeb Workder是HTML5 提供的一个JavaScript多线程解决方案,可以将一些需要大量计算的代码交给Web Worker 运行,而不会造成界面的卡顿。但是子线程完全受主线程控制,并且子线程不得操作DOM。web worker 的使用首先需要创建在分线程执行的js文件,并在主线程中的js中发消息并设置回调。主线程代码如下:// 主线程代码// 创建一个...原创 2019-10-02 14:28:42 · 326 阅读 · 0 评论 -
Javascript学习(一)——数据类型
数据类型1、基本类型(值)类型string:任意字符串number:任意数字boolean:true/falseundefined:undefinednull:null2、对象(引用)类型Object:任意对象Function:一种特别的对象(可执行)Array:一种特别的对象(数值下标,内部数值是有序的)3、判断数据类型typeof:返回数据类型的字符串表达,用...原创 2019-09-23 22:33:46 · 129 阅读 · 0 评论 -
JavaScript函数中this的指向
JavaScript函数中this的指向this的取值在函数真正被调用执行的时候确定,函数定义时无法确定。分为四种情况。1、构造函数所谓构造函数就是用来new对象的函数。function Foo() { this.name = 'mayandev'; this.year = 1997; console.log(this); // Foo {name: "mayandev",...原创 2019-09-26 10:31:13 · 201 阅读 · 0 评论 -
JavaScript学习(二)——数据、变量、内存
数据存储在内存中代表特定信息的东西。数据的特点:可传递可运算内存中所有操作的目标:数据算术运算逻辑运算赋值运算运行函数内存内存条通电后产生的用来可存储数据的空间(临时的)。var obj = {name: 'Tom'}一块内存的两个数据:内部存储的数据和地址值。内存分类:栈空间:全局标量/局部变量堆空间:对象变量可变的量,变量名和变量值组成,每个变...原创 2019-09-26 22:55:12 · 122 阅读 · 0 评论 -
JavaScript学习(三)——对象
什么是对象多个数据的封装体,用来保存多个数据的容器。一个对象代表现实中的事物为什么要使用对象同一管理多个数据对象的组成属性名(字符串)和属性值(任意)的组成方法:一种特别的属性(属性值是函数)如何访问对象内部数据.属性名:编码简单,但有时不能用[‘属性名’]:编码麻烦,能通用什么时候必须使用[‘属性名’]方式?属性名包含特殊字符时无法使用变量名不确定的情况下无法使...原创 2019-09-26 22:56:48 · 110 阅读 · 0 评论 -
JavaScript学习(四)——函数
实现特定功能的n条语句的封装体,只有函数是可以执行的,其他类型的数据不能执行。为什么要使用函数提高代码复用,便于阅读交流如何定义函数函数声明function fn1() {// 函数声明}表达式var fn2 = function() {// 表达式}如何执行函数test(): 直接调用obj.test(): 通过对象调用new Test(): new 调用t...原创 2019-09-26 22:58:00 · 129 阅读 · 0 评论 -
JavaScript使用闭包定义JS模块
JavaScript使用闭包定义JS模块可以使用下面的方法定义JS模块,对函数操作进行封装。由于闭包的特殊属性,函数内的变量不会被销毁。function myModule() { // 私有的数据 var msg = 'aBcD'; function doSomething() { console.log('doSomething()' + msg.toUpperCase...原创 2019-09-27 22:16:02 · 232 阅读 · 0 评论 -
Javascript对象的创建的几种方法及其优缺点
Javascript 对象的创建方法一:Object构造函数模式先创建空的Object对象,再动态添加属性/方法。var p = new Object();p.name = 'Mayandev';p.age = 22p.setName = function(name) { this.name = name;}上面的方法适用于起始时不确定对象内部数据,缺点是语句太多。方法...原创 2019-09-29 10:17:37 · 244 阅读 · 0 评论 -
JavaScript原型链的继承过程
JavaScript原型链继承1、定义父类型构造函数function Father() { this.fatherName = 'father'}2、给父类型的原型添加方法Father.prototype.getFatherName = function() { console.log(this.fatherName);}3、定义子类型的构造函数function...原创 2019-09-29 11:34:28 · 375 阅读 · 0 评论 -
JavaScript的线程
JavaScript的线程JavaScript是单线程运行的,但是可以通过H5中的Web Workders可以实现多线程运行如何证明js执行是单线程的先看下面的一段代码:setTimeout(function () { console.log('延时1s')},1000)setTimeout(function () { console.log('延时2s')},2000...原创 2019-10-02 13:35:31 · 194 阅读 · 0 评论 -
JavaScript定时器
JavaScript定时器思考在讨论之前,先来思考一个问题,定时器真的是定时执行的么?首先来看一段代码:console.log('定时器启动前')var start = Date.now()setTimeout(function () { console.log('定时器执行了', Date.now()-start);}, 200)console.log('定时器启动后');...原创 2019-10-02 13:37:05 · 346 阅读 · 0 评论 -
JavaScript原型和闭包总结
JavaScript 原型和闭包 总结一切皆对象typeof函数输出的一共有几种类型,在此列出: function show(x) { console.log(typeof x); // undefined console.log(typeof 10); // number console.log...原创 2019-09-22 09:31:53 · 145 阅读 · 0 评论