自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 编写模块化CSS:BEM

什么是BEMBEM其实是块(block),元素(element),修饰符(modifier)的缩写,利用不同的区块,功能以及样式来给元素命名。其目的是将用户界面分割成独立的区块,使得即使有复杂的UI,界面开发也能变得更加简单和快速;而且能使代码变得低耦合和高复用。常用的命名约定模式如下:.block-name {}.block-name__element-name {}.block-nam...

2019-03-11 17:09:59 510 1

原创 ES6之Set和Map数据结构

本文参考阮一峰老师的ECMAScript6入门1.set基本用法 ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));for (let i of s)

2017-07-19 23:36:32 318

原创 ES6之Symbol

本文参考阮一峰老师的ECMAScript6入门概述 ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。这就是 ES6 引入Symbol的原因。ES6 引入了一种新的原始数据类型Sym

2017-07-19 23:14:30 243

原创 ES6之数组的拓展(部分)

本文参考阮一峰老师的ECMAScript 6 入门扩展运算符 扩展运算符(spread)是三个点(…)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。console.log(...[1, 2, 3])// 1 2 3console.log(1, ...[2, 3, 4], 5)// 1 2 3 4 5[...document.querySelectorAll('div')

2017-07-18 23:29:05 498

原创 ES6之函数的拓展(部分)

本文参考阮一峰老师的ECMAScript6入门函数参数的默认值 ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面。function log(x, y = 'World') { console.log(x, y);}log('Hello') // Hello Worldlog('Hello', 'China') // Hello Chinalog('Hello', '') //

2017-07-18 22:55:44 254

原创 ES6之字符串的拓展(部分)

本文参考阮一峰老师的ECMAScript6入门includes(), startsWith(), endsWith() 传统上,JavaScript只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中。ES6又提供了三种新方法。 includes():返回布尔值,表示是否找到了参数字符串。 startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。 ends

2017-07-18 22:18:30 378

原创 ES6之变量的解构赋值

本文参考阮一峰老师的ECMAScript6入门1.数组的解构赋值基本用法 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。let [a, b, c] = [1, 2, 3];下面是一些使用嵌套数组进行解构的例子。let [foo, [[bar], baz]] = [1, [[2], 3]];foo // 1bar // 2baz /

2017-07-17 21:26:08 234

原创 ES6之let和const命令

本文参考阮一峰老师的《ECMAScript 6 入门》let 命令 基本用法 ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。{ let a = 10; var b = 1;}a // ReferenceError: a is not defined.b // 1下面的代码如果使用var,最后输出的是10。var a

2017-07-17 11:09:18 222

原创 使用angular-cli构建angular2项目时遇到的问题及解决方案

1.在项目中想使用第三方的库(比如jquery等)场景说明,项目需要使用juqery的一个标签云插件 想要使用这个插件需要引入jquery以及这个插件的一个js文件解决流程:1.配置package.json添加新的依赖,然后进行update,下载新的库 另外一个插件的js文件在npm中找不到,直接将下载好的js文件放到assets文件中 2.配置angular-cli.json文件 另外需要

2017-06-15 10:41:40 1794 1

转载 js学习笔记:理解new的运行机制

js学习笔记:理解new的运行机制本文参考博客JS核心系列:理解 new 的运行机制我们知道,javascript中的new运算符是用来实例化一个引用类型,从而在内存中分配一个实例对象。那么,当我们使用new的时候,js到底做了些什么呢首先来看下面一段代码:function Animal(name){ this.name = name;}Animal.color = "black";A

2017-05-03 10:51:51 303

空空如也

空空如也

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

TA关注的人

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