Git 创建 gh-pages 项目展示分支

借助Github的 gh-pages 展示当前作品的实际效果,可以让访问当前项目的用户直观的查看到项目的实际效果。
展示部分文件 如 dist 目录。

阅读全文

Git 本地项目提交到git仓库

在本地构建好一个项目之后,为了方便多人协作,我们需要将本地的项目进行提交到Git仓库然后添加分支管理,现在将基本的流程记录以下方便查阅。

阅读全文

Git 初始化配置

安装 Github 客户端 在 Github 官网进行注册之后我们有时候觉得客户端操作有点不方便,想用命令行的方式进行Git代码的管理。下面就介绍一下如何如何在命令行模式进行操作Git 进行版本管理。

阅读全文

Vue2.0 - vuex 的使用方法(小例子)

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。

阅读全文

ES6 学习笔记 15 --- 模块化 export 和 import

JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。
ES6 模块的设计思想,是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。

1
2
3
4
// 导出一个变量
export let a = '123';
// 引入导出的文件
import { a } from './1.js';

阅读全文

ES6 学习笔记 14 --- Iterator迭代器

遍历器(Iterator)就是这样一种机制。它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)。

1
2
3
4
5
let arr = ['hello', 'world'];
let map = arr[Symbol.iterator]();
console.log(map.next()); // {value: "hello", done: false}
console.log(map.next()); // {value: "world", done: false}
console.log(map.next()); // {value: undefined, done: true}

阅读全文

ES6 学习笔记 13 --- Promise异步操作

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

1
2
3
4
5
new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, 1000);
});

阅读全文

ES6 学习笔记 12 --- Class类和对象

在以前javascript 不支持 class 类的写法,在现在可以用 class 来命名一个类给这个类实现一个构造方法,父类可以背子类继承,一种面向对象的实现模式。

1
2
3
4
5
6
class Parent {
// 创建一个构造方法
constructor(name = "I am class") {
this.name = name;
}
}

阅读全文

ES6 学习笔记 11 --- Proxy 和 Reflect

Proxy 这个词的原意是代理,用在这里表示由它来“代理”某些操作,可以译为“代理器”。
Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API

1
2
3
4
// 创建一个Proxy
new Proxy(obj, {});
// Reflect 获取对象属性
Reflect.get(obj, 'time');

阅读全文

ES6 学习笔记 10 --- Set-Map 数据类型

在ES6之前 引用类型的数据 有 Array 和 Object,现在新增了 Set和Map两种类型的引用类型数据

1
2
3
4
Array : [1, 2, 3, 4, 5, 6]
Object : {a: 1, b: 2, c: 3}
Set : {'pa', 'ac', 'da', 09, 5, 6}
Map : {a=>'a', b=>'b', c=>'c'}

阅读全文

ES6 学习笔记 09 --- Symbol 的用法

ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。
Object.is方法。它用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致。
Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。

阅读全文

ES6 学习笔记 08 --- 对象的拓展

ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。
Object.is方法。它用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致。
Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。

阅读全文

ES6 学习笔记 07 --- 函数的拓展

ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面。
参数默认值可以与解构赋值的默认值,结合起来使用。
ES6 允许使用“箭头”(=>)定义函数。
尾调用(Tail Call)是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是指某个函数的最后一步是调用另一个函数。

阅读全文

ES6 学习笔记 06 --- 数组的拓展

再ES6中新增了一些API接口。
Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)
Array.of方法用于将一组值,转换为数组。

阅读全文

ES6 学习笔记 05 --- 数值的拓展

ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。
ES5 开始,在严格模式之中,八进制就不再允许使用前缀0表示,ES6 进一步明确,要使用前缀0o表示。
ES6 在Number对象上,新提供了Number.isFinite()和Number.isNaN()两个方法。
ES6 将全局方法parseInt()和parseFloat(),移植到Number对象上面,行为完全保持不变。

阅读全文

ES6 学习笔记 04 --- 字符串的拓展

JavaScript 允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的 Unicode 码点。
但是,这种表示法只限于码点在\u0000~\uFFFF之间的字符。超出这个范围的字符,必须用两个双字节的形式表示。
ES6 对这一点做出了改进,只要将码点放入大括号,就能正确解读该字符。

阅读全文

ES6 学习笔记 03 --- 正则表达式的拓展

在 ES5 中,RegExp构造函数的参数有两种情况。
第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符(flag)。
第二种情况是,参数是一个正则表示式,这时会返回一个原有正则表达式的拷贝。
但是,ES5 不允许此时使用第二个参数添加修饰符,否则会报错。
ES6 改变了这种行为。如果RegExp构造函数第一个参数是一个正则对象,那么可以使用第二个参数指定修饰符。而且,返回的正则表达式会忽略原有的正则表达式的修饰符,只使用新指定的修饰符。

阅读全文

ES6 学习笔记 02 --- 解构赋值

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。
以前,为变量赋值,只能直接指定值。
let [a, b, c] = [1, 2, 3];
上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值。

阅读全文

ES6 学习笔记 01 --- let const 变量声明

主要理解 let 和 const 的作用域问题 let 变量不能重复声明。引用类型的const 可以添加属性和值

阅读全文

JavaScript for循环每次输出最大 i 的解决问题

在做一个tab菜单点击切换的过程中遇到一个问题,就是每次点击之后都会将最后的一个区块显示出来, 检查之后得到的结果就是每次点击菜单之后得到的值都是最大值。于是问题就出来了,原因在于javascript事件处理器在线程空闲时间不会运行,导致每次执行后的结果为 array.length 的最大值。

—— 方法不一定适应每个人每台机器,如不能成功,请问度娘。

阅读全文

搭建 Hexo 博客并部署到 GitHub

在windows 上搭建Hexo博客并且部署到GitHub上面。在搭建的时候遇到不少问题,如Git的ssh问题,网站编译上传问题等,这里就写一份我安装成功后的步骤说明,当然很多方法都是来源于百度的,在这里谢谢网络世界里面热心贡献心得方法的大神们。

—— 方法不一定适应每个人每台机器,如不能成功,请问度娘。

阅读全文

每个人都有一个 Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

阅读全文