摘要:作为一个前端开发人员,每次看到浏览器控制台信息里面红通通的报错信息是不是都很紧张......不要怕,下面我们就来讨论一下前端的异常捕获。 异常捕获,相对于其他知识点可能没那么被重视,特别是对于前端程序员。但不得不说,这又是一个不得不面对的知识点。 为什么要捕获异常 首先,我们为什么要进行异常捕获和上 阅读全文
posted @ 2020-01-12 21:28 奔跑的瓜牛 阅读 (199) 评论 (0) 编辑
摘要:我们知道,在NodeJS之前,由于没有过于复杂的开发场景,前端是不存在模块化的,后端才有模块化。NodeJS诞生之后,它使用CommonJS的模块化规范。从此,js模块化开始快速发展。 模块化的开发方式可以提供代码复用率,方便进行代码的管理。通常来说, 一个文件就是一个模块,有自己的作用域,只向外暴 阅读全文
posted @ 2020-01-05 19:49 奔跑的瓜牛 阅读 (148) 评论 (0) 编辑
摘要:集合(或者叫容器)是Java的核心知识点,它有着很深的深度。我们这里不会设计多深,仅仅作为了解入门,深入了解请移步各种集合源码文章。好的,下面正是开始介绍... Java集合为何而生 我们知道,Java是一门面向对象编程语言,这也就意味着程序中存在着大量的对象。这个时候问题就来了,我们如何很好的存放 阅读全文
posted @ 2020-01-04 03:00 奔跑的瓜牛 阅读 (146) 评论 (0) 编辑
摘要:如果你写过前端,可能会经常写一下关于变量类型的判断,比如: 之类的代码。因为JavaScript作为一门弱类型语言,类型的判断往往需要开发人员自己去检查。 Java作为一门强类型语言,它的强就强在类型的约束比较严格,大多都是在编译器(IDEA、eclipse...)里就做了检查,也就是说你刚敲完一个 阅读全文
posted @ 2019-12-22 23:11 奔跑的瓜牛 阅读 (154) 评论 (0) 编辑
摘要:Java是一门面向对象语言,可以看出“对象”在Java有着举足轻重的位置。那么,“对象”从何而来呢?那必须是丈母娘造出来的,下面我们就先来说说这个丈母娘——类。 Java类 对象: 对象具有状态和行为。 例如:一只狗的状态有:颜色,名称,品种,它的行为有:摇尾巴,吠叫,吃东西。 对象是 类的实例 类 阅读全文
posted @ 2019-12-20 22:55 奔跑的瓜牛 阅读 (77) 评论 (3) 编辑
摘要:近年来,随着前端工程化的发展,前端发生了翻天覆地的变化。jQuery已经慢慢淡出了我们的视野,React、Vue和anglur三驾马车急速驶来。从此,前端进入了数据驱动的时代,也有了清晰的模块化开发的方式。随之而来的就是如何去保证自己的代码的正确性。 为什么需要前端自动化测试 编写测试代码要在正是写 阅读全文
posted @ 2019-12-08 21:11 奔跑的瓜牛 阅读 (196) 评论 (0) 编辑
摘要:React是前端组件化开发的开山鼻祖,这种开发方式彻底解决了的前端组件复用的痛点。今天,就来研究一下React组件开发。 前端同学一般都会从Vue入门,因为Vue使用的 .vue webpack import`导入、注册(components),就可以直接使用。 上面简单说了Vue的组件模式,其实, 阅读全文
posted @ 2019-12-01 23:01 奔跑的瓜牛 阅读 (154) 评论 (0) 编辑
摘要:当你第一次接触vue的时候,一定会使用到其中的几个指令,比如: 、`v for v bind`...这些都是vue为我们写好的,用起来相当的爽。如果有些场景不满足,需要我们自己去自定义,那要怎么办呢?下面来一步步学习如何自定义一个属于我们自己的指令。 什么是vue指令? 指令是可以写在DOM元素的小 阅读全文
posted @ 2019-11-27 21:48 奔跑的瓜牛 阅读 (84) 评论 (0) 编辑
摘要:做前端的一定都知道现在是三大框架——Vue、React、Angular三足鼎立的时代。Vue是公认的最容易入门的,因为它文件结构上有传统的HTML的影子,让刚接触它的前端人员刚到很“亲切”。Angular虽然也有保留HTML,但它却是最难入门的,究其原因可能和他是由Google的后端程序员开发的,又 阅读全文
posted @ 2019-11-22 19:40 奔跑的瓜牛 阅读 (343) 评论 (0) 编辑
摘要:思考一下,为什么有字符编码这种东西? 当然是为了让计算机“听话”呗。我们知道,计算机的世界只有01这两个字符,而我们现实世界有成千上万的字符。如何用01的组合去和现实中的字符一一对应呢?这就是需要制定相应的编码规则来实现了。明白了这点,我们正式开始编码的讲解。 ### ASCII码 我们知道,**在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种... 阅读全文
posted @ 2019-11-10 22:30 奔跑的瓜牛 阅读 (368) 评论 (0) 编辑
摘要:关于Promise的源码实现,网上有太多答案,我也看过很多资料,但都不是很明白。直到有一天我学完 "函数式编程之函子" 的概念,才对Promise源码有了更深刻的认识。今天,就让我们来重新认识一下Promise。 我们知道,Promise的诞生是为了解决“回调地狱”的问题,它用同步链式的方式去解决异 阅读全文
posted @ 2019-11-04 09:09 奔跑的瓜牛 阅读 (381) 评论 (2) 编辑
摘要:前面二篇学习了函数式编程的基本概念和常见用法。今天,我们来学习函数式编程的最后一个概念——函子(Functor)。 相信有一部分同学对这个概念很陌生,毕竟现在已经有很多成熟的轮子,基本能满足我们日常的业务开发,所以没必须重复造轮子。但是,作为一名(未来)优秀的程序员,光会用怎么能行呢?必须要理解更深 阅读全文
posted @ 2019-10-27 17:19 奔跑的瓜牛 阅读 (277) 评论 (0) 编辑
摘要:上一篇介绍了 "闭包和高阶函数" ,这是函数式编程的基础核心。这一篇来看看高阶函数的实战场景。 首先强调两点: 注意闭包的生成位置,清楚作用域链,知道闭包生成后缓存了哪些变量 高阶函数思想:以变量作用域作为根基,以闭包为工具来实现各种功能 柯里化(curry) 定义: 柯里化是把一个多参数函数转换为 阅读全文
posted @ 2019-10-22 23:01 奔跑的瓜牛 阅读 (317) 评论 (0) 编辑
摘要:函数式编程的历史 函数的第一原则是要小,第二原则则是要更小 —— ROBERT C. MARTIN 解释一下上面那句话,就是我们常说的 一个函数只做一件事 ,比如:将字符串首字母和尾字母都改成大写,我们此时应该编写两个函数。为什么呢?为了更好的复用,这样做保证了函数更加的颗粒化。 早在 1950 年 阅读全文
posted @ 2019-10-20 14:32 奔跑的瓜牛 阅读 (476) 评论 (3) 编辑
摘要:      本人毕业一年,在第一家公司实习一年、工作一年,2019 年 8 月 9 号正式离职(裸辞)。走的那一刻心情很复杂,并没有一丝轻松的感觉。第一次裸辞,从福州去往上海——一个陌生的城市,无依无靠,一切靠自己。又没什么辞职经验,未来与 阅读全文
posted @ 2019-09-08 23:58 奔跑的瓜牛 阅读 (2760) 评论 (19) 编辑
摘要:实现 new 方法 实现 Promise 实现一个 call 函数 实现一个 apply 函数 实现一个 bind 函数 更多介绍: "bind方法的实现" 浅拷贝、深拷贝的实现 浅拷贝: 深拷贝: 实现一个节流函数 实现一个防抖函数 instanceof 的原理 柯里化函数的实现 柯里化函数的定义 阅读全文
posted @ 2019-08-03 16:23 奔跑的瓜牛 阅读 (2950) 评论 (1) 编辑
摘要:浏览器存储的方式有哪些 | 特性 | cookie | localStorage | sessionStorage | indexedDB | | | : : | : : | : : |: : | | 数据生命周期 | 一般由服务器生成,可以设置过期时间 | 除非被清理,否则一直存在 | 页面关闭就 阅读全文
posted @ 2019-08-03 10:21 奔跑的瓜牛 阅读 (3559) 评论 (1) 编辑
摘要:Vue 双向绑定原理 mvvm 双向绑定,采用 数据劫持结合发布者 订阅者模式 的方式,通过 来劫持各个属性的 setter、getter,在数据变动时发布消息给订阅者,触发相应的监听回调。 几个要点: 1、实现一个数据监听器 Observer,能够对数据对象的所有属性进行监听,如有变动可拿到最新值 阅读全文
posted @ 2019-07-29 23:12 奔跑的瓜牛 阅读 (8920) 评论 (1) 编辑
摘要:判断 js 类型的方式 1. typeof 可以判断出'string','number','boolean','undefined','symbol' 但判断 typeof(null) 时值为 'object'; 判断数组和对象时值均为 'object' 2. instanceof 原理是 构造函数 阅读全文
posted @ 2019-07-27 22:09 奔跑的瓜牛 阅读 (13769) 评论 (2) 编辑
摘要:      最近一直在准备找工作,看了很多公司的招聘介绍,有相当一部分直接写:熟悉 Hybrid App 开发加分!正好,我司开发的就有这种 Hybrid App——使用 WebViewJavascriptBridge 通信,前端封装一些常 阅读全文
posted @ 2019-07-20 23:44 奔跑的瓜牛 阅读 (338) 评论 (0) 编辑