自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吴孔云的博客

write less, do more

原创 git submodule 完整用法整理

最近有个项目遇到有子模块,遂整理下。。牛逼的人感觉看官网就行,像我这种菜鸟总是需要反复记忆,git官网链接戳此。 1.先来个官方的API git submodule [--quiet] add [<options>...

2018-08-11 19:17:32 7772 1

原创 Vue与React的异同-组件(二)

Vue与React都鼓励组件化应用,即将应用分拆成一个个功能明确的模块,每个模块之间可以通过合适的方式互相联系,但各自的实现略有不同。以下谈谈我的理解,如有不对,欢迎指正 在Vue组件中,有几个观念和React相差比较大,我觉得主要有以下这几点: Vue组件分为全局注册和局部注...

2018-01-20 11:58:24 2220 0

转载 XMLHttpRequest使用指南大全

Ajax和XMLHttpRequest 我们通常将Ajax等同于XMLHttpRequest,但细究起来它们两个是属于不同维度的2个概念。 以下是我认为对Ajax较为准确的解释:(摘自what is Ajax) AJAX stands for Asynchronous JavaSc...

2018-01-10 16:35:38 4190 2

原创 Vue与React的异同—生命周期(一)

React与Vue都有lifecycle生命周期的概念,表示每个组件实例在被创建之前都要经过一系列的初始化过程。比如设置数据监听、编译模板、挂载实例到视图、在数据变化时更新视图等。 Vue生命周期 所有的生命周期钩子自动绑定 this 上下文到实例中,因此你可以访问数据,对属性和方法进行运算。...

2018-01-09 19:44:42 2705 1

原创 深入理解xhr的responseType中blob和arrayBuffer

最近有个需求,服务器端下载视频,存储到本地,然后再播放,下载存储后播放不了。debug后发现是responseType未正确设置。 一般的xhr请求 let url = window.URL || window.webkitURL; let xhr = new XML...

2017-10-14 10:28:22 28367 0

原创 详解ES7的async及webpack配置async

项目中有个需求,类似视频网站下载视频,比如有5个case,每个case有数量不等的的video需要从服务端下载,并且video的下载顺序是串联的,只有当正在下载的case下载完才能下载另外一个case,否则下一个case处于wait状态。 如何解决此问题 使用Promise 利用pr...

2017-10-12 09:07:26 4383 0

原创 js正则表达式(一)

最近对正则表达式又不熟悉了,故重新疏漏API,以后每日写一个正则来练习提升 正则表达式中特殊字符的含义字符类别(Character Classes). //matches any single character excepet line terminators: \n, \r \d //M...

2017-09-18 12:35:40 403 0

原创 cordova 安卓开发环境搭建(Mac OSX

安装JDK下载JDK,可到以下oracle官网下载: http://www.oracle.com/technetwork/java/javase/downloads/index.html 需要选择对应的版本,选择jdk-8u111-macosx-x64.dmg,然后双击安装!!! 注:这...

2017-09-14 13:58:35 2420 0

转载 移动端Web页面常见问题解决

安卓浏览器看背景图片,有些设备会模糊。用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢?经过研究,是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显示网页,这样字会非常小,所以苹果当初就把iPhone 4的960*640分辨率,在网页里只显示了48032...

2017-09-12 11:40:35 1363 0

原创 解析Web Workers

详解Web Workres理念 Web Worker为Web内容在后台线程中运行脚本提供了一种简单的方法。线程可以执行任务而不干扰用户界面。此外,他们可以使用XMLHttpRequest执行 I/O (尽管responseXML和通道属性总是为空)。一旦创建, 一个worker 可以将消息发送...

2017-09-07 17:35:16 281 0

原创 html5的video在IOS端默认全屏和黑屏问题

最近项目中需要使用video来代替有点复杂的动画(video循环自动播放),遇到了使用过程中的两个坑 ios端默认全屏解决办法查阅资料说在在video标签加如下属性<video webkit-playsinline="webkit-playsinline"><...

2017-09-07 14:35:03 12246 2

原创 js浮点数加减乘除

解决js浮点数加减乘除不准确的问题

2017-09-07 11:44:46 240 0

转载 关于Function.prototype.apply.call的一些补充

宿主对象,在javascript中有三类对象,本地对象,内置对象和宿主对象。其他两类暂且不提,宿主对象是指什么呢(DOM BOM),控制台对象是文档对象模型的扩展,也被认为是宿主对象。那么,它们有什么缺陷呢?在IE9之前,宿主对象不是继承自Object,它们的方法也不继承自Function,IE9...

2017-02-24 12:38:21 767 0

原创 从前端模块化的概念来理解Webpack

为什么需要模块化?随着网站内容越来越复杂,浏览器和用户的交互越来越细腻,网站再也不是简单的内容呈现,更像是一个复杂的客户端软件,其中html/css/js代码越来越多,逻辑越来越复杂,越来越不便于管理,多人协作成本加深,为了解决这些问题,才出现了模块化的概念,也就是说模块化更多的是工程方面的产出,...

2017-02-19 19:04:52 3741 0

原创 前端路由相关实现

前端路由:客户端浏览器可以不依赖服务端,根据不同的URL渲染不同的视图页面。 前端路由实现思路 在页面不刷新的前提下实现url变化 捕捉到url的变化,以便执行页面替换逻辑 前端路由实现方法HASH我们经常在 url 中看到 #,这个 # 有两种情况,一个是我们所谓的锚点,比如典型的回到顶部按钮原...

2017-02-16 18:28:00 359 0

原创 webpack相关问题记录

编译scss文件安装node-sass编译sass文件需要两个模块sass-loader和node-sass,如果通过npm install node-sass -save-dev不成功,可以通过写入package.json文件中"sass-loader": "^4....

2017-01-23 17:09:30 390 0

原创 NPM配置问题

配置npm的全局模块的存放路径以及cache的路径启动CMD,输入npm config set prefix "D:\Program Files\nodejs\node_global"npm config set cache "D:\Program Files\nod...

2017-01-20 16:49:59 453 0

原创 NPM常用命令

npm是什么NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。npm install 安装模块npm install (with no args, in package d...

2017-01-10 15:11:44 11411 2

原创 js对象属性的getter和setter

在看Vue的API时,里面提到修改Model层,会实时更新View视图,底层原理利用的是ES5的getter和setter方法,通过 Object.defineProperty 把属性全部转为 getter/setter。故温故一遍getter和setter定义属性的方法。 通过对象字面量定义ge...

2017-01-03 17:02:01 5867 0

原创 详解javascript作用域和闭包

参考书籍《你不知道的javascript的上卷》 作用域是什么 现代JavaScript已经不再是解释执行的,而是编译执行的。但是与传统的编译语言不同,它不是提前编译,编译结果不能进行移植。编译过程中,同样会经过分词/词法分析,解析/语法分析,代码生成三个阶段。 以var a = 2;语句为例,对...

2016-12-14 11:21:47 401 0

转载 JS自定义事件原生

说在开始,Javascript自定义事件类似设计的观察者模式,通过状态的变更来监听行为,主要功能解耦,易于扩展。多用于组件、模块间的交互。 原型模式下的js自定义事件var EventTarget = function() { this._listener = {}; };EventTar...

2016-12-13 14:39:31 3051 0

原创 SASS相关

Sass安装和API等

2016-11-24 17:59:33 368 0

原创 C#中值类型和引用类型及类型的转换

在 C# 中,变量分为以下几种类型: 值类型(Value types) 引用类型(Reference types) 指针类型(Pointer types) 值类型 值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的,值存储在栈中。 值类型直接包含数据...

2016-10-25 09:52:38 2759 0

原创 SQL笔记

SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。DML(Data Manipul...

2016-08-24 09:20:14 204 0

转载 萌萌的websocket原理解析

一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HTTP请求合并为一个,但是Websocket其实是一个新协议,跟HTTP...

2016-08-17 20:14:48 482 0

原创 javascript运行机制:并发模型 与Event Loop

看了阮一峰老师的JavaScript 运行机制详解:再谈Event Loop和【朴灵评注】的文章,查阅网上相关资料,把自己对javascript运行模式和EVENT loop的理解整理下,不一定对,日后再看做个回顾。 MDN上有张图很形象, function f(b){ var a ...

2016-08-15 16:42:41 2327 0

原创 jsvascript—谜之this?

原文:Gentle explanation of ‘this’ keyword in JavaScript1. 迷之 this对于刚开始进行 JavaScript 编程的开发者来说,this 具有强大的魔力,它像谜团一样需要工程师们花大量的精力去真正理解它。在后端的一些编程语言中,例如 Java、...

2016-08-01 16:07:10 1366 0

原创 target,currentTarget和this三者的区别

target在事件流的目标阶段;currentTarget在事件流的捕获,目标及冒泡阶段。只有当事件流处在目标阶段的时候,两个的指向才是一样的, 而当处于捕获和冒泡阶段的时候,target指向被单击的对象而currentTarget指向当前事件活动的对象(注册该事件的对象)(一般为父级)。this...

2016-07-08 19:30:42 8252 0

原创 NodeJS学习三之API

Node采用V8引擎处理JavaScript脚本,最大特点就是单线程运行,一次只能运行一个任务。这导致Node大量采用异步操作(asynchronous opertion),即任务不是马上执行,而是插在任务队列的尾部,等到前面的任务运行完后再执行。由于这种特性,某一个任务的后续操作,往往采用回调函...

2016-07-05 17:48:08 1669 0

原创 几种方法实现ajax请求内容时使用浏览器后退和前进功能

我们可以利用ajax进行无刷新改变文档内容,但是没办法去修改URL,即无法实现浏览器的前进与后退、书签的收藏功能。 利用location的hash部分和使用window.onhashchange来实现,而html5的historyAPi,以及开源的PAJAX库

2016-06-17 14:35:16 7171 2

原创 浅谈 JS 创建对象的 8 种模式

javascript创建对象的8种模式:Objct 模式,工厂模式,构造器模式,通过 ,Function 对象实现,prototype 模式,构造器与原型方式的混合模式 ,动态原型模式,混合工厂模式

2016-06-16 11:11:58 301 0

转载 chrome调试JavaScript脚本

随着 JavaScript 应用的复杂性逐渐提高,开发者需要有力的调试工具来帮助他们快速发现问题的原因,并且能高效地修复它。Chrome DevTools 提供了一系列实用的工具使得调试 JavaScript 应用不再是一件痛苦的事。在这个部分,我们会通过调试 Google Closure hov...

2016-06-15 15:07:06 617 0

原创 深入理解JS异步编程五(脚本异步加载)

异步脚本加载阻塞性脚本JavaScript在浏览器中被解析和执行时具有阻塞的特性,也就是说,当JavaScript代码执行时,页面的解析、渲染以及其他资源的下载都要停下来等待脚本执行完毕浏览器是按照从上到下的顺序解析页面,因此正常情况下,JavaScript脚本的执行顺序也是从上到下的,即页面上先...

2016-06-04 08:30:23 2197 0

转载 深入理解JS异步编程四(HTML5 Web Worker)

>Web Workers 是 HTML5 提供的一个javascript多线程解决方案,我们可以将一些大计算量的代码交由web Worker运行而不冻结用户界面。一:如何使用Worker Web Worker的基本原理就是在当前javascript的主线程中,使用Worker类加载一个jav...

2016-06-04 08:11:18 3822 0

原创 深入理解JS异步编程三(promise)

Promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了Promise对象。

2016-06-02 08:56:36 605 0

原创 深入理解JS异步编程二(分布式事件)

一个PubSub模型主要方法有3个,订阅,退订,发布

2016-06-01 08:20:45 1042 0

原创 深入理解JS异步编程(一)

js事件概念异步回调首先了讲讲js中 两个方法 setTimeout()和 setInterval()定义和用法:setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。 语法:setTimeout(callback,time)callback 必需。要调用的函数后要执行的 ...

2016-05-27 13:46:57 534 0

转载 不定高多行溢出文本省略

多行文本溢出省略

2016-05-25 18:02:40 666 0

原创 深入解析js中基本数据类型与引用类型,函数参数传递的区别

ECMAScript的数据有两种类型:基本类型值和引用类型值,基本类型指的是简单的数据段,引用类型指的是可能由多个值构成的对象。 Undefined、Null、Boolean、Number和String是值类型,其他都是引用类型。其他语言String是以对象的形式表示,ECMAScript放弃了这...

2016-05-23 20:30:04 4533 0

原创 javascript的replace+正则 实现ES6的字符串模版

采用拼接字符串的形式,将 JSON 数据嵌入 HTML 中。开始时代码量较少,暂时还可以接受。但当页面结构复杂起来后,其弱点开始变得无法忍受起来: 书写不连贯。每写一个变量就要断一下,插入一个 + 和 “。十分容易出错。 无法重用。HTML 片段都是离散化的数据,难以对其中重复的部分进行提取。 无...

2016-05-20 09:26:21 3762 0

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