自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

全栈启示录

敬畏耶和华是智慧的开端

  • 博客(42)
  • 问答 (3)
  • 收藏
  • 关注

原创 轻松学会在项目中使用fontawesome字体图标

什么是字体图标我们的网站经常需要一些形象的小图标来丰富页面的交互与展现。我们当然可以使用图片,但过多的图片会增加HTTP请求的开销,从而对页面的性能造成严重的损耗。即使使用CSS精灵的技术把多张图片揉成一张,对每个图片背景的定位也要花费开发人员不少的精力。此外,图片还可能会存在失真的问题,当我们试图把它们放大时,它们很可能会变得模糊,从而不影响页面的整体风格与用户体验。不如使用字体图标来解...

2018-04-04 19:14:46 1779

原创 fontawesome 助手

致用户的信Hey,我是阿里巴巴的恩言:欢迎使用FontAwesome Helper。Fontawesome是当今世界上最流行的字体图标库之一,它”多元”,”兼容”,”自由”,”高分屏完美呈现”的特性,简直让人欲罢不能!美中不足的是,海量的优质图标,给我们的记忆带来了很大的挑战。相信你一定常常为忘记了某个”印象中的”图标的名字或者找不到自己心仪的图标而苦恼。Fontawesome...

2018-03-23 15:48:41 1399

原创 在云服务器上(CentOS)上安装Nodejs

在云服务器上(CentOS)上安装Nodejs安装前的准备1、 使用命令行登录到服务器上ssh userName@remoteAddress2、 查看服务器系统的位数信息uname -a通过输出的信息可确定云服务是32位的还是64位的3、切换环境到安装目录这里我们在根目录下新建一个叫做app的文件夹,将Nodejs安装到这个文件夹里cd / ...

2018-02-18 17:20:47 4368 1

原创 深入javascript数据存取

数据存取是计算机科学中最常见的操作,如何安排数据的存储位置不仅关系到代码在执行过程中数据的检索速度,更影响着整个程序的设计思维。这篇文章将对javascript语言中数据存取的相关知识进行深入的讨论。通过对本文的阅读和学习,你可以理解并掌握: js存储数据的位置以及优化方式 js作用域链的实质以及改变作用域链的方式 js闭包的实质与闭包导致的内存泄露 为什么ES5的严格模

2017-04-23 00:45:17 1864

原创 深入ES6 (四) 字符串的括展

第四章 字符串的括展 ES6加强了对Unicode的支持,并且扩展了字符串对象。本章把重点放在ES6对对象方法的括展上,至于字符Unicode表示法的加强,则不打算详细展开。本章主要包括: 模板字符串与标签模板 字符串括展方法 字符的Unicode表示法(简介) 4.1模板字符串与模板标签模板字符串在第一章我们已经大体介绍了模板字符串的使用方法,先让我们回顾一下。使

2017-04-14 15:06:42 2366

原创 深入ES6 三 解构赋值

解构赋值 解构赋值指的是按照一定规则,直接从数组和对象中提取值,对变量进行赋值。

2017-04-12 20:29:19 1909

原创 深入ES6 (二)let和const

第二章 let和const ES6提供了let和const两种新的变量声明方式,使得在JS中变量的声明更像java那样。这章主要包括了一下内容: ES6的块级作用域 let声明变量与var的区别 死区 const与对象冻结 2.1 let与var块级作用域在ES5中存在一个 很经典的循环事件绑定的问题,我们可以使用数组模拟dom集合来还原这个问题:var arr

2017-04-12 14:56:05 10720 3

原创 深入ES6(一)历史与简介

第一章 历史与简介 ES6于2015年6月正式发布,其目标是使JS原因呢可用于编写大型的应用程序,成为企业级的开发语言。这篇文章主要介绍: 1. ECMAScript的版本历史 2. 使用babel对ES6代码进行转码 3. 配合gulp搭建ES6开发环境 4. ES6最常用的特性

2017-04-10 15:37:45 3268

原创 小谈ES6解构赋值

解构赋值 解构赋值指的是按照一定规则,直接从数组和对象中提取值,对变量进行赋值。数组的解构赋值基本用法解构匹配只要左右两边的模式相同,左边的变量就会被赋予对应的值。如果解构不成功,则返回undefined。

2017-03-30 21:43:09 1875

原创 grunt\gulp的使用对比

gulp核心设计基于Unix流的概念,通过管道连接,前者的输出即后者的输入。 这样可以解决使用Grunt的I/O过程中会产生一些中间态的临时文件的问题。因为一些任务需要生成临时文件,其它任务可能会基于这些临时文件再做处理并生成最终的构建后文件。而使用Gulp的优势就是利用流的方式进行文件的处理,通过管道将多个任务和操作连接起来,因此只有一次I/O的过程,流程更清晰,更纯粹。

2017-03-30 21:41:29 3395

原创 小谈AMD与CMD

小谈AMD与CMD 命名冲突和文件依赖,是前端开发过程中的两个经典问题。人们尝试通过模块化开发方法和思维来解决这些问题。Sea.js与CMD模块化规范简介Sea.js 是一个适用于 Web 浏览器端的模块加载器。遵循CMD模块化标准。定义模块define(function(require, exports, module){})引入模块var foo = require('./foo.js'

2017-03-25 17:45:46 3319

原创 细说apply、call和bind

apply、call和bind 我们可以使用函数对象的apply和call来应用函数,切换其执行上下文(this指针)。call和bind本质上是apply方法的语法糖。call和apply基本用法略。区别二者的区别在于apply处上下文对象外,还接收一个数组做参数。而call则把数组换成了多个可选的形参。一般来说只传递上下文和一个形参时,推荐使用call以减少创建数组的损耗。令我,在严格模式

2017-03-24 12:01:33 2458

原创 谈谈ES6 Promise

Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。

2017-03-16 19:09:54 2788

原创 面试题总结 JS篇 (一)

JS面试题汇总

2017-03-16 15:21:45 5471

原创 前端面试题总结 HTML+CSS篇(一)

里面是一些关于HTML+CSS的面试题汇总

2017-03-05 21:46:02 2843

原创 前端面试题总结 HTTP\浏览器篇 (一)

里面是一些关于http请求和浏览器机制的面试题总结

2017-03-05 21:44:53 3631

原创 JS String API易混淆的地方

slice、substring、substr、subsubstring和slice使用方法基本相同,区别在于substring不接受负参数。substr和substring的区别在于substr的第二个参数是长度,而并非结束位置的索引。在获取字符串片段时,推荐使用slice和substring,不推荐使用substr,因为它没有得到ECMA的标准化。sub方法是用来创建下标字符串的,和字符串的截取无

2017-02-20 17:08:44 1602

原创 CSS垂直居中的6种方式,最快只用两行代码

本文给出了6种利用CSS使HTML元素垂直居中与父元素的方法,其中包括:1、2 绝对定位的方式3 基于属性计算的方式(只需要2行代码哦)4 利用vertical-align属性5 盒子模型方式6 基于内联元素特性需要说一下下面的代码的打开方式,当启用一种方法时,请打开一种方法的注释,然后把其它方法注释掉。

2017-02-18 20:09:47 2251

原创 你真的会使用ES5 Array API吗?

你真的会使用ES5 Array API吗? 最简单的问题:哪些方法会改变数组本身?这篇文章揭露了一些ES5 Array API中的一些坑,同时,也把一些不太常用的API介绍给大家,你会惊讶的发现,以前我们为了实现某个功能使用的大量代码是多么的可笑,JS已提供了原生的API帮你搞定。。注意,这不是篇Array的参考文档,它只关注容易被web工程师忽略的细节。

2017-02-16 17:32:34 1378

原创 JS在浏览器上的性能分析(一)脚本的下载与运行

在这篇文章中,你将会学到浏览器脚本文件下载和执行的阻塞特性和如何对其进行优化。使用script元素的属性以及一些常用手段使脚本无阻塞加载。

2017-02-15 15:34:05 3605

原创 在腾讯云上搭建基于Nodejs的网站

在云服务器上的配置和项目部署完全没有想象中的困难,甚至可以说比较简单,不得不说,它为我的梦想提供了助力。我写这篇文章的目的,一是帮助大家学习如何一步步把自己的项目部署到服务器上,尤其是针对前端Nodejs的开发者。二是鼓励大家尝试新鲜事物,其实很多东西没有你想象的那么难!!

2017-01-26 23:05:58 10845 2

原创 HTML5利用约束验证API来检查表单的输入数据

HTML5利用约束验证API来检查表单的输入数据 HTML5对于表单有着极大程度的优化,无论是语义,小部件,还是数据格式的验证。我猜你肯定会以浏览器兼容作为借口不愿意使用这些“新功能”,但这绝不应该成为使你停滞不前的原因。当你真正试着使用这些表单的新功能时,我保证你会爱上它。本文想把重点放在HTML5表单验证机制上。主要介绍是HTML5是如何利用约束验证API来检查表单的输入数据的。

2016-12-19 10:23:59 3493

原创 轻松理解javascript原型

也许你和我一样曾经陷在javascript原型、继承的苦恼中无法自拔。但你知道这真的很重要,所以你花了很多功夫上网查了很多次有关js原型的资料,却每每因为无法理解而放弃阅读或者阅读完了感觉一无所获。好吧,这篇文章正式为你准备的。这篇文章由浅入深(事实上我最讨厌深入浅出),以案例驱动,带你轻松理解关于javascript原型的那些事儿。

2016-11-28 17:36:50 1548

原创 轻松理解javascript继承

也许你和我一样曾经陷在javascript原型、继承的苦恼中无法自拔。但你知道这真的很重要,所以你花了很多功夫上网查了很多次有关js继承的资料,却每每因为无法理解而放弃阅读或者阅读完了感觉一无所获。好吧,这篇文章正式为你准备的。这篇文章由浅入深(事实上我最讨厌深入浅出),以案例驱动,带你轻松理解关于javascript继承的那些事儿。

2016-11-28 17:33:32 1425

原创 澄清误解,详解JS立即执行函数

JS中立即执行函数的形式令人眼花缭乱,而百度搜到的答案往往令人遗憾,这篇文章正是要揭开JS立即执行函数的神秘面纱,澄清很多人对JS立即执行函数的误解。

2016-11-26 01:35:27 1394

原创 Vue.js提炼与升华

这不是Vue.js的权威指南,更不是Vue.js的入门教程。这篇博客帮助程序员回顾Vue.js的知识重点,以便他们能够迅速的想起相关的知识

2016-11-26 01:32:01 2675

原创 Nodejs核心模块 PART2

4.2 常用工具utilutil是Nodejs核心模块,提供常用函数的集合,用于弥补JS的功能过于精简的不足。使用util模块首先需要导入它var util = require('util');4.2.1 util.inherits(constructor,superConstructor)util.inherits(constructor,superConstructor)是一个实现对象间原形继

2016-10-05 16:35:02 6038

原创 Nodejs核心模块 PART1

第四章 Nodejs核心模块 核心模块时Nodejs的心脏,它由一部分精简而高效的库组成,为Nodejs提供了基本的API。4.1 全局对象 JS中有一个特殊的对象,成为全局对象,它及其所有的属性可以在程序的任何地方进行访问,即全局变量。在浏览器JS中,window是全局对象。而Nodejs中的全局对象则是global,所有的全局变量都是gobal对象的属性。也就是说,在Nodejs中能直

2016-10-05 16:32:45 5972

原创 Nodejs快速入门:PART4

3.4 npm——让社区为你服务Nodejs包管理器,即npm是Nodejs官方提供的包管理工具,它已经成了Nodejs包的标准发布平台,用于Nodejs包的发布、传播、依赖控制。你可以使用npm的命令行工具方便的下载、安装、升级、删除包。3.4.1 本地安装与全局安装在2.2节中我们介绍了使用npm安装包的时候有两种模式:本地模式和全局模式。默认情况下我们使用如下代码:npm install 包名

2016-10-05 16:31:49 6072

原创 Nodejs快速入门:PART3

3.3 模块和包3.3.1 什么是模块模块(module)和包(package)是Nodejs的重要支柱。开发一个具有一定规模的程序不可能只用一个文件,通常需要把各个功能拆分、封装然后组合起来,模块正是为了实现这种方式诞生的。模块是Nodejs最基本的组成部分,文件和模块是一一对应的。即一个Nodejs文件就是一个模块。包是实现了某个特定功能的模块的集合。包和模块的概念时常混用。Nodejs提供的r

2016-10-05 16:30:56 4970

原创 Nodejs快速入门:PART1

第三章 Nodejs快速入门 Nodejs具有浓重的开源血统,它由一个黑客发起,诞生于托管了许多优秀项目的开源项目网站——github。所以使用Nodejs最为有趣的是你将会用黑客的思维和风格编写代码。3.1 开始使用Nodejs编程3.1.1 hello world最简单的,新建一个叫做helloworld的js文件,在里面输入如下代码:console.log("hello world");

2016-10-05 16:28:28 6305

原创 安装和配置Nodejs

第二章 安装和配置Nodejs Nodejs的安装与配置在Windows上可以称为无脑操作,一直需要一直点击下一步,选择安装路径就可以了,你可以把它放在你想要放置的任何位置。最新版本的Nodejs会在下载的同时自动为你安装npm(node包管理器,node package manager),我们可以使用它下载node的第三方模块,它们可能是一些写好了的js模块,可以在编程中直接为我们所用,也可能

2016-10-05 16:27:18 8529

原创 Nodejs——前言、Nodejs简介

Nodejs学习笔记前言这是一套系统性非常强,逻辑紧密,由浅入深,详略得当,风趣幽默的Nodejs学习笔记。但既然是笔记,就必然没有办法做到面面俱到。事实上,我只关心基础、难于理解和容易出错的部分。如果你有一定的前端基础,并对Nodejs有十足的热情,那么这份资料非常适合你。 但实话实说,这份资料也许不适合那些初出毛犊的前端工程师们,虽然我已经尽我所能把涉及到的每个知识点讲解到最详细。在遇到问题时

2016-10-05 16:26:25 6683

原创 读懂Spring依赖注入的每个细节

这篇文章并不是对Spring内容整体的泛泛而谈,而是以详略得当,风趣幽默的方式将Spring最基础的知识——依赖注入向大家娓娓道来。这篇文章的一个特色是使用当前流行的IDEA作为开发工具,里面详细的讲述了如何利用IDEA简化我们的Spring开发。由于在这里图片上传非常痛苦(我必须把每个图片都一一上传),所以我强烈推荐您联系这个邮箱:[email protected]索要带图片的word电子稿及源码

2016-08-20 00:48:10 16066

原创 MongoDB及其客户端工具的按照与配置

mongo数据库是当下非常流行的非关系型数据库,也是node工程师的必修功课。与mysql等关系型数据库不同,mongo有着自己独特的编程思想。这篇文章详细介绍了MongoDB的安装流程以及配置,注册成windows服务的方式,并提供了很多技巧。相信会对大家mongoDB的学习和nodejs的入门有帮助。

2016-08-19 12:33:19 12900

原创 使用delete删除var声明的变量

使用delete删除var声明的变量文章的标题的确让人感到难以置信,甚至在《javascript权威指南(第6版)》第5章5.3.1中直截了当的写到: var声明的变量是无法通过delete删除的但在服务器环境下(比如Tomcat),delete却能够神奇的删除var声明的变量

2016-07-07 19:22:22 16435

原创 细说addEventListener与事件捕获、事件冒泡

这篇文章详细介绍了addEventListener绑定事件的细节以及事件冒泡和事件捕获的有关知识。作者以生动形象的例子和简单直白的语言,让读者能够快速了解和掌握JS中事件绑定和事件传播的规则和本质。

2016-06-28 23:20:18 17806

原创 编写优雅的JavaScript——第一章:风格格式化(上)

在这篇文章里,我将会与你讨论如何编写格式化风格的代码,它能够帮你优化你的代码风格,告诉你如何谱写出漂亮的代码。实话实说,这可能会让叛逆的你感到不适,因为里面立了好多规矩。然而就像我在前言中提到的,当你经过了项目开发的风暴后,你就会发现这些形形色色的看似陈旧的规矩是这样的充满魅力。

2016-06-25 22:01:19 8936

原创 编写优雅的JavaScript——前言

”程序是写给人读的,只是偶尔让计算机执行一下“,”当你开始工作时,你不是在为自己写代码,而是在为后来人写代码“。这篇文章是javascript开发规范一系列文章的前言,介绍了规范的重要性以及这个系列文章的适合人群。这个些列的文章会以持续更新的形式与大家分享JS开发时应该注意的事项,想要学习和提升的朋友可以关注我的博客

2016-06-23 22:22:05 10558

原创 浮动与display:inline-block

有的时候,我们需要使独占一行的两个div能够在一行和谐共处,解决方案大概有两种: 1.为两个div均添加display:line-block属性 2.将两个div都设成浮动的元素 这篇文章将深入探讨二者的区别与联系,此外,还将会带给大家一种垂直居中的新方式

2016-05-03 12:50:36 12539 7

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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