日常采坑记录

前言 此篇博客用于记录自己日常踩得一些坑以及解决方案,方便自己日后查阅,避免遗忘。 坑1:JS空数组为true还是false? 今天无意在控制台发现了一个很有趣的现象: 当时觉得很奇怪,[]其实是一个对象,那么[]类型转换为Boolean之后应该为true没问题,那么上图的if([])...

2019-01-24 14:35:09

阅读数 35

评论数 0

React的虚拟DOM与diff算法的理解

什么是虚拟DOM

2018-12-14 14:45:28

阅读数 464

评论数 0

一篇博客了解Promise、Generator及async

背景 我们在实际的开发当中,会遇到很多这样的场景,就是我们不能立即知道接下来该如何去执行一段代码,就比如我们的ajax请求,因为根据很多外界的因素,我们获得服务器返回的数据的时间是不确定的,所以我们必须要等到结果出来之后,才知道接下来该做什么。 回调地狱 我们可以用原生的Ajax请求来模拟一...

2018-12-03 11:33:50

阅读数 36

评论数 0

Ajax、fetch、axios的区别与优缺点

背景 前端的技术发展速度非常的快,异步请求也是其重要的体现之一,从最早的原生XHR,再到JqueryAjax的统治时代,再到近来,fetch、axios等技术也开始出现并大量投入使用。 原生XHR ...

2018-11-30 14:28:22

阅读数 934

评论数 2

JavaScript原型、原型链以及继承总结

写在前面 JS的原型以及原型链的知识一直是JS中的一个难点和重点,想要学习好JS,必定要先翻过这座大山,本篇文章是对于该知识点的一个记录,方便自己回头翻阅。 引用类型 JavaScript中的数据类型分为基本数据类型以及引用类型,另一篇博客有讲到关于这方面的知识点。 JavaScript的基本类型...

2018-11-29 23:26:24

阅读数 263

评论数 0

JavaScript的基本类型和对象引用总结

写在前面 ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型。或者也可以叫原始类型,对象类型。初次之外还有很多其他的叫法,不过都是根据这两种类型的特点进行命名的。 基本类型 ES5拥有5种基本数据类型,非别是:undefined,boolean,number,string,null...

2018-11-29 17:54:03

阅读数 158

评论数 0

JavaScript遍历数组、对象方法总结以及性能对比

JS数组遍历的几种方式 JS的数组遍历其实有挺多种的,for、for-in、forEach,for-of,map等等一些方法。 for循环 这是最常见也最简单的一种循环方式。 <script> var arr = [1,2,3,4...

2018-11-29 16:01:44

阅读数 153

评论数 0

JavaScript事件流理解与分析

事件流 事件流用简单的一句话描述就是:事件触发的顺序问题。可以先用一个简单的小例子直观的感受一下什么是事件流。 <div id="wrapper"&...

2018-11-29 14:41:00

阅读数 336

评论数 0

JavaScript关于作用域、作用域链以及闭包的理解与应用

什么是闭包 要知道闭包是什么东西,首先我们要知道JavaScript的作用域,其实在我的理解看来,JS的闭包无非是对作用域的一种应用。 作用域以及作用域链 关于JS变量的作用域无非就两种:全局变量以及局部变量。 全局作用域 对于定义在最外层的变量,我们认为它具有全局性,即在所有内部的函数...

2018-11-28 16:05:33

阅读数 268

评论数 0

HTML5新特性总结

HTML5 2014年10月29日,W3C宣布,经过接近8年的艰苦努力,HTML5标准规范终于制定完成。HTML5提供了很多有用的新特性,包括更加语义化的标签、媒体标签、本地存储、canvas绘画等等。 语义化标签 语义化标签使得我们的html更具结构化,见名知义,并且对SEO更加友好。 下面是一...

2018-10-30 15:19:25

阅读数 435

评论数 0

Sass如何使用?一篇博客就够了

写在前面 关于CSS的缺点以及为什么会诞生CSS预处理器的原因,在上一篇介绍Less的博文中已经说过了,这里就不再赘述了,可以参考:如何使用Less?一篇博客就够了 Sass的简单介绍 不同于Less,Sass是基于Ruby开发的,发行于2007年,Sass 扩展了 CSS3,增加了规则、变...

2018-10-29 16:48:16

阅读数 284

评论数 0

如何使用Less?一篇博客就够了

CSS的缺点     CSS是一门典型的标记型语言,使用起来非常的简单粗暴,但是CSS并不具有很强的逻辑性,甚至说其实没什么逻辑...

2018-10-28 12:02:37

阅读数 401

评论数 0

AngularJS简单的入门体验

AngularJS介绍 AngularJS 是 Angular1.x 的另一个名字罢了,从 Angular 2.0 版本开始,AngularJS 与 Angular2.0 及以上版本就已经不是同一个框架了。AngularJS诞生于2009年,后被Google收购,用于许多Google产品的开发。...

2018-10-25 16:09:40

阅读数 155

评论数 0

AngularJS双向绑定背后的秘密

AngularJS的双向绑定     AngularJS为我们提...

2018-10-24 11:09:45

阅读数 621

评论数 0

Git——地球上最先进的分布式版本控制系统

Git一句话简介 没错,就如标题一般,Git是地球上最先进的分布式版本控制系统。 何为版本库(repository) 版本库又称为代码仓库,其实就是放项目源文件的地方,仓库里面的所有文件都将被Git管理起来,每个文件的修改、删除都会被Git所记录,方便后续需要时,进行项目回滚。 创建仓库 ...

2018-10-16 17:40:19

阅读数 563

评论数 0

Android五大存储方式——详解SharedPreferences

前言:SharedPreferences作为Android五大存储方式之一,其具有以下特点: 使用简单、快捷、方便。 只支持存储Java基础数据类型(Boolean、Int、Float、String、Long等)不支持自定义数据类型。 本质是一种Map,通过键值对的形式进行数据存储。 不支持查找功...

2017-12-10 22:50:59

阅读数 126

评论数 0

从零开始搞懂Android网络请求——异步加载ListView

实现思路: 自定义AsyncTask类,重写onPreExecute()、doInBackground()、 onPostExecute()三个方法。 网络请求数据 自定义接受数据的类 绑定listview与数据 请求的数据:{ status: 1, data: [ { id: 1, name: ...

2017-11-19 22:07:16

阅读数 128

评论数 0

Handler初体验(一)——下载文件并更新进度条

实现思路: 获取文件的输入流 把输入流读入到缓存流中,并累积记录流的长度 通过Handler机制将长度传递给UI线程 ProgressBar接到到读取长度以及文件总长度进行UI的更新。 界面效果:布局代码:<?xml version="1.0" encoding=&quo...

2017-11-11 23:29:35

阅读数 485

评论数 0

关于Android6.0读写文件权限问题

旧权限无效今天在写一个异步下载文件进度条的Demo,但是最终运行却提示我没有读写文件的权限,明明已经在配置清单AndroidManifest添加了读写权限了,最后通过百度才知道了Android6.0为了安全,需要开发者手动添加一部分危险权限了。如何添加动态权限首先原先在AndroidManifes...

2017-11-11 15:44:45

阅读数 4434

评论数 0

从零开始搞懂Android网络请求——JSON数据的解析与Gson框架的使用

什么是JSON: JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 (单纯的数据格式,不受语言的约束) JSON 具有自我描述性,更易理解以上为官方对于Json的解释,其实JSON...

2017-11-10 18:57:17

阅读数 369

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭