JavaScript
文章平均质量分 90
jizhen_tan
公众号:菜鸟学前端
展开
-
学习Javascript之数组去重
前言本文2895字,阅读大约需要12分钟。总括: 本文总结了10种常见的数组去重方法,并将各种方法进行了对比。公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍如烟往事俱忘却,心底无私天地宽。正文数组去重对于前端来说不是一个常见的需求,一般后端都给做了,但这却是一个有意思的问题,而且经常出现在面试中来考察面试者对JS的掌握程度。本文从数据类型的角度去思考数组去重...原创 2020-03-08 19:53:59 · 371 阅读 · 0 评论 -
学习Javascript之节流和防抖
前言本文1012字,阅读大约需要4分钟。总括: 本文通过实例介绍了什么是节流函数,什么是防抖函数。公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍社会犹如一条船,每个人都要有掌舵的准备。正文节流函数和防抖函数相信很多人都在日常业务开发中使用过,其实不管是节流函数还是防抖函数都是一种简单的高阶函数,他们都是通过将一个关键的外部变量保存在外层作用域,通过对这个变量...原创 2020-03-07 11:26:37 · 316 阅读 · 0 评论 -
学习Javascript之模拟实现bind
前言本文1703字,阅读大约需要5分钟。总括: 本文模拟实现了bind方法的更改this,传参和绑定函数作为构造函数调用时this失效的特性。参考文档:Function.prototype.bind()公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍愿每次回忆,对生活都不感到负疚。正文bind和call,apply的作用类似,都是用来更改函数的this值的,...原创 2020-03-05 14:54:31 · 266 阅读 · 0 评论 -
学习Javascript之模拟实现new
前言本文1021字,阅读大约需要5分钟。总括: 本文对new进行了一个简单介绍,然后使用一个函数模拟实现了new操作符做的事情。参考文档:new 运算符公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍人生是没有毕业的学校。正文new是JS中的一个关键字,用来将构造函数实例化的一个运算符。例子:function Animal(name) { this.na...原创 2020-03-02 19:11:38 · 245 阅读 · 0 评论 -
学习Javascript之模拟实现call,apply
前言本文1630字,阅读大约需要8分钟。总括: 本文从零开始通过提出问题然后解决问题的方式模拟实现了比较完善的call和apply方法参考文档:Function.prototype.call(),Function.prototype.apply()公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍每一个不曾起舞的日子,都是对生命的辜负。正文call,appl...原创 2020-03-01 19:34:17 · 282 阅读 · 0 评论 -
学习Javascript之尾调用
前言本文2433字,阅读大约需要10分钟。总括: 本文介绍了尾调用,尾递归的概念,结合实例解释了什么是尾调用优化,并阐述了尾调用优化如今的现状。参考文章:尾递归的后续探究公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍事亲以敬,美过三牲。正文尾调用是函数式编程的一个重要的概念,本篇文章就来学习下尾调用相关的知识。尾调用在之前的文章理解Javascript...原创 2020-02-29 19:19:18 · 510 阅读 · 0 评论 -
理解Javascript的正则表达式
前言本文4089字,阅读大约需要12分钟。总括: 本文基于Javascript的正则表达式,结合笔者个人的思考来对正则表达式的特性进行讲解。参考文章:A Practical Guide to Regular Expressions (RegEx) In JavaScript,正则表达式公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍事亲以敬,美过三牲。正文相...原创 2020-02-24 18:36:29 · 514 阅读 · 0 评论 -
理解Javascript的变量提升
前言本文2922字,阅读大约需要8分钟。总括: 什么是变量提升,使用var,let,const,function,class声明的变量函数类在变量提升的时候都有什么区别。参考文章:Hoisting in Modern JavaScript — let, const, and var公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍要么庸俗,要么孤独。正文Jav...原创 2020-02-23 12:38:05 · 338 阅读 · 0 评论 -
理解Javascript的异步
前言本文2925字,阅读大约需要10分钟。总括: 本文梳理了异步代码和同步代码执行的区别,Javascript的事件循环,任务队列微任务队列等概念。原文地址:Understanding Asynchronous JavaScript公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍未曾失败的人恐怕也未曾成功过。Javascript是单线程的编程语言,单线程就是说...原创 2020-02-22 12:29:08 · 424 阅读 · 0 评论 -
理解Javascript的作用域和作用域链
前言本文2771字,阅读大约需要8分钟。总括: 本文讲解了Javascript的作用域,作用域类型,作用域链等概念以及Javascript是如何去建立作用域链并寻找变量的。原文地址:Understanding Scope and Scope Chain in JavaScript公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍一花凋零,荒芜不了整个春天。正文...原创 2020-02-21 17:42:52 · 370 阅读 · 0 评论 -
理解Javascript的原型和原型链
前言本文2088字,阅读大约需要13分钟。总括: 结合实例阐述了原型和原型链的概念并总结了几种创建对象的方法,扩展原型链的方法。参考文章:The Secret Life of Objects,继承与原型链公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍禄无常家,福无家门。正文原型Javascript中有一句话,叫一切皆是对象,当然这句话也不严谨,比如nul...原创 2020-02-19 17:41:38 · 321 阅读 · 0 评论 -
理解Javascript中的执行上下文和执行栈
前言本文3356字,阅读大约需要9分钟。总括: 本文深入的讲解了Javascript中的执行上下文和执行栈。原文地址:Understanding Execution Context and Execution Stack in Javascript公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍流水在碰到底处时才会释放活力。正文如果你是或者想成为一名Java...原创 2020-02-18 10:54:25 · 623 阅读 · 0 评论 -
「译」forEach循环中你不知道的3件事
前言本文925字,阅读大约需要7分钟。总括: forEach循环中你不知道的3件事。原文地址:3 things you didn’t know about the forEach loop in JS公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍自弃者扶不起,自强者击不倒。正文你觉得你真的学会用forEach了么?这是我之前对forEach循环的理解:就...翻译 2020-02-16 13:37:45 · 295 阅读 · 0 评论 -
RSA算法详解
前言总括: 本文详细讲述了RSA算法详解,包括内部使用数学原理以及产生的过程。原文博客地址:RSA算法详解公众号:「菜鸟学前端」,回复「666」,获取一揽子前端技术书籍相濡以沫。到底需要爱淡如水。正文之前写过一篇文章SSL协议之数据加密过程,里面详细讲述了数据加密的过程以及需要的算法。SSL协议很巧妙的利用对称加密和非对称加密两种算法来对数据进行加密。这篇文章主要是针对一种最常见的...原创 2020-02-11 17:20:19 · 1002 阅读 · 1 评论 -
理解Javascript的柯里化
前言本文1454字,阅读大约需要4分钟。总括: 本文以初学者的角度来阐述Javascript中柯里化的概念以及如何在工作中进行使用。原文地址:理解Javascript的柯里化知乎专栏: 前端进击者博主博客地址:Damonare的个人博客事亲以敬,美过三牲。正文函数式编程是一种如今比较流行的编程范式,它主张将函数作为参数进行传递,然后返回一个没有副作用的函数,...原创 2020-02-03 16:41:36 · 203 阅读 · 0 评论 -
CSS垂直居中和水平居中
前言 CSS居中一直是一个比较敏感的话题,为了以后开发的方便,楼主觉得确实需要总结一下了,总的来说,居中问题分为垂直居中和水平居中,实际上水平居中是很简单的,但垂直居中的方式和方法就千奇百怪了。内联元素居中方案水平居中设置:行内元素 设置 text-align:center;Flex布局 设置display:flex;justify-content:center;(灵活运用)垂直居中原创 2016-03-20 21:10:46 · 1221 阅读 · 0 评论 -
学习javascript数据结构(三)——集合
前言总括: 本文讲解了数据结构中的[集合]概念,并使用javascript实现了集合。原文博客地址:学习javascript数据结构(三)——集合知乎专栏&&简书专题:前端进击者(知乎)&&前端进击者(简书)博主博客地址:Damonare的个人博客人生多风雨,何处无险阻。正文集合简介在上一篇学习javascript数据结构(二)——链表中我们说了链表这种数据结构,但归根结底,不论是栈,队列亦原创 2016-11-30 18:34:41 · 909 阅读 · 0 评论 -
CSS三栏布局的四种方法
前言总括: 不管是三栏布局还是两栏布局都是我们在平时项目里经常使用的,也许你不知道什么事三栏布局什么是两栏布局但实际已经在用,或许你知道三栏布局的一种或两种方法,但实际操作中也只会依赖那某一种方法,本文具体的介绍了三栏布局的四种方法,并介绍了它的使用场景。原文地址:CSS三栏布局的四种方法知乎专栏&&简书专题:前端进击者(知乎)&&前端进击者(简书)博主博客地址:Damonare的个人博客年原创 2016-12-07 22:25:39 · 1654 阅读 · 0 评论 -
实例讲解react+react-router+redux
前言总括: 本文采用react+redux+react-router+less+es6+webpack,以实现一个简易备忘录(todolist)为例尽可能全面的讲述使用react全家桶实现一个完整应用的过程。代码地址:React全家桶实现一个简易备忘录原文博客地址:React全家桶实现一个简易备忘录知乎专栏&&简书专题:前端进击者(知乎)&&前端进击者(简书)博主博客地址:Damonare的原创 2016-12-20 14:16:08 · 3364 阅读 · 0 评论 -
理解Node.js(译文)
前言总括 :这篇文章十分生动形象的的介绍了Node,满足了读者想去了解Node的需求。作者是Node的第一批贡献者之一,德国前端大神。译者觉得作者的比喻很适合初学者理解Node,特此翻译。译者 :原文网址里有只小蚂蚁的效果很有意思(多次鼠标悬浮会有惊喜),哈哈哈,可以去看一下哦。原文地址:[Understanding node.js]原文作者:Felix GeisendörferNode小应用翻译 2017-02-08 16:47:07 · 754 阅读 · 0 评论 -
理解Node.js的事件轮询
前言总括 :原文地址:理解Node.js的事件轮询Node小应用:Node-sample智者阅读群书,亦阅历人生正文Node.js的两个基本概念Node.js的第一个基本概念就是I/O操作开销是巨大的:所以,当前变成技术中最大的浪费来自于等待I/O操作的完成。有几种方法可以解决性能的影响:同步方式:按次序一个一个的处理请求。利:简单;弊:任何一个请求都可以阻塞其他所有请求。开启新进程:每个原创 2017-02-09 10:44:46 · 1594 阅读 · 0 评论 -
ajax入门
前言总括: 本文讲解了ajax的历史,工作原理以及优缺点,对XMLHttpRequest对象进行了详细的讲解,并使用原生js实现了一个ajax对象以方便日常开始使用。damonare的ajax库:damonare的ajax库原文博客地址:你真的懂ajax吗?知乎专栏&&简书专题:前端进击者(知乎)&&前端进击者(简书)博主博客地址:Damonare的个人博客古之立大事者,不惟有超世之才,亦原创 2017-01-18 23:08:56 · 1506 阅读 · 0 评论 -
Javascript闭包入门(译文)
前言总括 :这篇文章使用有效的javascript代码向程序员们解释了闭包,大牛和功能型程序员请自行忽略。译者 :文章写在2006年,可直到翻译的21小时之前作者还在完善这篇文章,在Stackoverflow的How do JavaScript closures work?这个问题里更是得到了4000+的赞同,文章内容自然不必多说。原文地址:JavaScript Closures for Begi翻译 2017-01-21 17:52:17 · 582 阅读 · 0 评论 -
学习javascript数据结构(四)——树
前言总括: 本文讲解了数据结构中的[树]的概念,尽可能通俗易懂的解释树这种数据结构的概念,使用javascript实现了树,如有纰漏,欢迎批评指正。原文博客地址:学习javascript数据结构(四)——树知乎专栏&&简书专题:前端进击者(知乎)&&前端进击者(简书)博主博客地址:Damonare的个人博客人之所能,不能兼备,弃其所短,取其所长。正文树简介在上一篇学习javascript数据原创 2017-01-16 21:31:05 · 748 阅读 · 0 评论 -
前端进阶之路
前言总括: 包含这三个月来碰到的一些觉得比较好的面试题,三个月没怎么写博客着实有些手痒,哈哈哈。7000余字,不成敬意2333原文地址:我的前端进阶之路知乎专栏&&简书专题:前端进击者(知乎)&&前端进击者(简书)博主博客地址:Damonare的个人博客烈火试真金,逆境试强者正文React和Vue对比相同点:数据驱动视图,提供响应式的视图组件都有Virtual DOM,组件化开发,通过p原创 2017-05-16 21:36:16 · 4642 阅读 · 6 评论 -
Javascript中的this
前言总括:详解JavaScript中的this的一篇总结,不懂this这个难点,很多时候会造成一些困扰,写出一些bug不知如何收场,所以一起来写bug吧,不对,一起来写代码吧。原文地址:JavaScript中的this知乎专栏: 前端进击者博主博客地址:Damonare的个人博客人生得意须尽欢,莫使金樽空对月正文 JavaScript中的this格外的不一样,比如Java语言中的thi原创 2017-07-23 19:44:28 · 840 阅读 · 0 评论 -
缓存详解
前言总括: 缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,从而给自己创造了一些麻烦,本文一如既往的用通俗易懂的文字和实例来讲述缓存,希望能让您有所得。原文博客地址: 缓存详解知乎专栏&&简书专题:前端进击者(知乎)博主博客地址:Damonare的个人博客天青色等烟雨,而我在等你。正文 缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。原创 2018-01-27 22:01:22 · 2597 阅读 · 0 评论 -
学习javascript数据结构(一)——栈和队列
前言只要你不计较得失,人生还有什么不能想法子克服的。原文地址:学习javascript数据结构(一)——栈和队列博主博客地址:Damonare的个人博客 几乎所有的编程语言都原生支持数组类型,因为数组是最简单的内存数据结构。javascript也有数组类型,而数组呢,其实就是一种特殊的栈或是队列,利用javascript Array所内置的API可以很方便的模拟栈和队列。正文 我想对于数组原创 2016-11-02 18:36:26 · 1410 阅读 · 0 评论 -
Javascript本地存储小结
前言 总括:详细讲述Cookie,LocalStorge,SesstionStorge的区别和用法。人生如画,岁月如歌。 原文博客地址:Javascript本地存储小结 知乎专栏&&简书专题:前端进击者(知乎)&&前端进击者(简书)1. 各种存储方案的简单对比Cookies:浏览器均支持,容量为4KBUserData:仅IE支持,容量为64KBFlash:100KB,非H原创 2016-11-16 23:31:38 · 1759 阅读 · 0 评论 -
JavaScript DOM学习总结(二)
获取和设置属性DOM实在是个好东西,掌握了它我们不仅可以在JavaScript中使用,其它程序语言我们同样可以使用。 接下来就一起使用DOM来干些实事吧! 1.getAttribute getAttribute是一个函数,它只有一个参数———就是我们要查询的属性的名字。<!DOCTYPE html><html lang="en"><head> <meta http-equiv="con原创 2015-11-27 16:08:30 · 716 阅读 · 0 评论 -
JavaScript的作用域和块级作用域概念理解
作用域 作用域永远都是任何一门编程语言中的重中之重,因为它控制着变量与参数的可见性与生命周期。说到这里我们需要理解两个概念:块级作用域与函数作用域。函数作用域这个应该好理解,函数作用域就是说定义在函数中的参数和变量在函数外部是不可见的。大多数类C语言都拥有块级作用域,JS却没有。请看下文demo://C语言 #include <stdio.h> void main() { int i=原创 2015-12-04 09:21:55 · 1361 阅读 · 0 评论 -
详解javascript的类
前言生活有度,人生添寿。原文地址:详解javascript的类博主博客地址:Damonare的个人博客 Javascript从当初的一个“弹窗语言”,一步步发展成为现在前后端通吃的庞然大物。javascript的受欢迎程度也是与日俱增,今年最受欢迎编程语言又是花落javascript,这实在是一个充满了活力的语言。如今,随随便一个网页javascript代码量都不下数千行,要是node后端那原创 2016-11-01 20:56:38 · 846 阅读 · 0 评论 -
学习javascript数据结构(二)——链表
前言人生总是直向前行走,从不留下什么。原文地址:学习javascript数据结构(二)——链表博主博客地址:Damonare的个人博客正文链表简介 上一篇博客-学习javascript数据结构(一)——栈和队列说了栈和队列在javascript中的实现,我们运用javascript提供的API很容易的实现了栈和队列,但这种数据结构有一个很明显的缺点,因为数组大小是固定的所以我们在移除或是添加一原创 2016-11-13 22:11:53 · 1056 阅读 · 0 评论 -
前端跨域整理
前言原文地址:前端跨域总结博主博客地址:Damonare的个人博客相信每一个前端er对于跨域这两个字都不会陌生,在实际项目中应用也是比较多的。但跨域方法的多种多样实在让人目不暇接。老规矩,碰到这种情况,就只能自己总结一篇博客,作为记录。正文1. 什么是跨域? 跨域一词从字面意思看,就是跨域名嘛,但实际上跨域的范围绝对不止那么狭隘。具体概念如下:只要协议、域名、端口有任何一个不同,都被当作是不同的原创 2016-10-30 21:31:41 · 1325 阅读 · 0 评论 -
从隐藏元素谈起
前言 说起隐藏元素我想每一个前端er都能说起几种,但能说全的我想就不是很多了。博主总结了几种隐藏元素的方法,总结如下表格: overflow opacity visibility display position clip(clip-path) z-index 属性值 hidden 0 hidden none absolute re原创 2016-08-16 14:36:53 · 1645 阅读 · 0 评论 -
十大经典算法总结(Javascript描述)
前言读者自行尝试可以想看源码戳这,博主在github建了个库,读者可以Clone下来本地尝试。此博文配合源码体验更棒哦~~~个人博客:Damonare的个人博客 这世界上总存在着那么一些看似相似但有完全不同的东西,比如雷锋和雷峰塔,小平和小平头,玛丽和马里奥,Java和javascript….当年javascript为了抱Java大腿恬不知耻的让自己变成了Java的干儿子,哦,不是应该是跪原创 2016-09-17 13:21:56 · 8373 阅读 · 7 评论 -
前端面试大全
HTML面试题XHTML和HTML有什么区别 HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言 最主要的不同: XHTML 元素必须被正确地嵌套。 XHTML 元素必须被关闭。 标签名必须用小写字母。 XHTML 文档必须拥有根元素。前端页面有哪三层构成,分别是什么?作用是什么? 结构层 Html 表示层 CSS 行为层 js;你做原创 2016-07-12 14:52:18 · 12227 阅读 · 1 评论 -
漫谈前端之路
前言 前端之路何其漫漫~ 说明:本篇文章原是写给学弟学妹的,但想来花的功夫确实不少,就把此篇文章当做自己的一个阶段性总结文章了,会保持长期更新。HTML 总的来说HTML并不难,甚至可以说很无脑……HTML的标签个人觉得过一遍就得,知道什么时候该用什么标签就可以了,因为在以后的开发中打交道最多的就是各种各样的标签,想不熟都难。就像现在我写这篇文章用的Markdown一样,只是几个标原创 2016-06-13 22:45:33 · 8967 阅读 · 11 评论 -
Chrome控制台实用指南
前言 Chrome浏览器我想是每一个前端er必用工具之一吧,一部分原因是它速度快,体积不大,支持的新特性也比其它浏览器多,还有一部分我想就是因为它的控制台功能强大了吧,说它是神器一点也不过分,很方便。但其实很多开发者并没有用出控制台的精髓,只是使用简单的console.log();其实控制台功能远远不止这么简单哦。console.clear console.clear();清空控制台,这个原创 2016-09-09 23:28:13 · 1379 阅读 · 0 评论 -
JavaScript填坑史
说明: 这是笔者平时积累的一些觉得比较有意思或是比较有难度的JavaScript题目理解和心得,会保持长期更新。1.setTimeout和setInterval深入理解在setTimeout和setInterval深入理解这篇博客里笔者曾做过总结,我们知道JavaScript试单线程的产物,两个函数就是利用了插入代码的方式实现了伪异步,和AJAX的原理实际上是一样的。下面来看下这个例子:conso原创 2016-06-19 10:57:27 · 1211 阅读 · 0 评论