自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MarkDown的使用

1. 标题头语法一级标题# This is an tag二级标题## This is an tag...六级标题###### This is an tag2.斜体语法_The text will be italic_The text will be italic3. 加粗语法The **text** will be boldThe text

2018-01-17 10:36:30 248

转载 Jquery 源码分析一: 整体架构、链式调用、插件接口

jQuery 整体架构:JQuery框架的核心就是从HTML文档中匹配元素并对其执行操作,那么有两个问题值得我们思考?jQuery 对象构建的方式?jQuery 方法的调用方式?jQuery 对象构建方式 实现的关键点:1. 可以将jQuery类当做一个工厂方法来创建实例,并将这个方法放到jQuery.prototype 原型中2. 对作用域进行处理,来分隔this,避免交互混淆var a

2018-01-15 16:14:41 666

转载 JS验证表达式验证手机号、邮箱、等常规验证

1. 验证用户输入的手机号是否合法 var phoneReg = /^1[3-578]\d{9}$/; function isPhoneAvailable(phonevalue){ if(phoneReg.test(phonevalue)){ return true; }else{ return false;

2018-01-13 15:42:19 23724 1

转载 es6之Generator

Generator 函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同,可以把它理解成 Generator 函数是一个状态机,封装了多个内部状态执行Generator 函数会返回一个遍历器对象,也就是说Generator函数除了状态机,还是一个遍历器对象生成函数。返回的遍历器对象,可以依次遍历Generator 函数内部的每一个状态形式上Generator 函数是一个普通函数,

2018-01-10 14:26:04 189

转载 6.es6之Promise

Promise 的含义 Promise 是异步编程的一种解决方案,可以把promise 看作一位‘先知‘,可以预测到未来将要发生的事情,从语法来说,Promise是一个对象,从它可以获取异步操作的信息 2.Promise 的特点 (1)对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)、rejected(已失败),只有

2018-01-06 19:38:01 209

转载 5. es6之函数的扩展

1.1函数参数的默认值 es6之前,不能直接为函数参数提供默认值,只能采用变通的方法//es5写法function log(x,y){ if(typeof y === 'undefined'){ y = 'world'; } y = y || 'world'; console.log(x,y);}log('hello'); //hel

2018-01-05 11:14:19 140

原创 4. es6 之新增字符串方法

1. includes()、startsWith()、endsWith()传统上,js只有indexof方法,用来确定一个字符串是否包含在另一个字符串中,es6 又新增了三种新方法 - includes() :返回布尔值,表示是否找到了参数字符串 - startsWith() : 返回布尔值,表示参数字符串是否在原字符串的头部 - endsWith() : 返回布尔值,表示参数字符

2018-01-04 19:39:05 569

原创 3.es6之变量的解构赋值

ES6解构:es6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称之为解构1.数组的解构赋值var [a,b,c] = [1,2,3];console.log(a);//1console.log(b);//2console.log(c);//3//本质上这种写法属于‘模式匹配‘,只要等号两边的模式相同,左边的变量就会被赋予对应的值let [foo,[bar]] = ["111

2018-01-04 17:26:32 8195 3

原创 2.es6之const命令

const 不得不说的关键点const 声明的变量不得改变值(也就意味着一旦声明变量,就必须立即初始化)只在声明的作用域内有效不存在变量提升存在暂时性死区,只能在声明的位置后面使用//1.1 const 声明的变量必须先初始化const a ; //报错:Uncaught SyntaxError: Missing initializer in const declaration//1.2

2018-01-04 09:52:29 201

原创 1.ES6之let命令

let 关键字不得不说的关键点:不存在变量提升相同作用域内,不允许重复声明一个变量所声明的变量,只在当前作用域有效,超出所在域即over game(块级作用域)在代码块内,使用let命令声明变量之前,该变量都是不可用的(在语法上也可以称之为‘暂时性死区‘)//1. 不存在变量提升function f(){ console.log(a); //如果使用var 来声明a变量的

2018-01-02 21:19:47 278

原创 JS内存生命周期

不管什么程序语言,内存声明周期基本都是一致的: 1.分配你所需要的内存 2.使用分配到的内存(读、写) 3. 不需要时将其释放 JS 垃圾回收机制(标记-清除算法) 现在所有浏览器基本上都是用了标记-清除算法,该算法把“对象是否不再需要“ 简化定义为 “对象是否可以获得“ 这个算法假定设置一个叫做‘根‘ 的对象,定期的 ,垃

2018-01-02 17:31:31 873

原创 遍历多层嵌套对象

script> var res = {a:"aaa",b : "bbb",c:{d : "ddd",e : "eee",f:{g:"ggg",h:{i : "iii"}}},j : "jjj",k:{l:"lll",m:{n:"nnn"}}}; function Demo(){ Demo.prototype.getKeys = function(obj,arr){

2017-12-27 18:52:46 12939 1

原创 遍历数组的常用方法

1.最传统方法 for循环 var arr = ["first","second","third","fourth",3,5,8]; for(var i = 0; i < arr.length;i++){ console.log(arr[i]); } //输出: first second third fourth

2017-12-27 10:39:21 50805 2

原创 返回指定小数位数的表示形式

通过Numer类型的toFixed方法返回指定小数位数案例1:var a = 123;var b = a.toFixed(3);console.log(b); //结果打印为:123.000案例2:var m = 123.45678;var n = m.toFixed(3);console.log(n);// 结果打印为:123.457,toFixed()方法会 

2017-12-26 16:48:14 417

原创 谈谈我对bfc的理解

对于有过CSS基础的童鞋,想必都遇到过清除元素浮动、margin值重叠的问题吧,这些问题网上有N种解决方案,但是拿到方案的你,有没有想探究一下它的原理呢?BFC:块级格式化上下文,它是指一个独立的块级渲染区域,只有Block-level Box 参与,该区域拥有一套渲染规则来约束块级盒子的布局,且与区域外部无关。说了这么多,你肯定还是一头雾水,我也不喜欢这种理论的定义,可是偏偏它说的还很有道理。所以

2017-12-25 11:04:53 942

转载 粒子动画-躁动的小球代码全

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> </style></head><body> <canvas id="canvas"></canvas></body><script> //获取到canvas v

2017-12-25 10:02:22 665

原创 总结

周总结(12.18-12.24)一:关于MDN的学习总结1.1 HTML因为之前有过这方面的基础,所以关于HTML的内容,我浏览的速度相对于其他方面的知识要快一些,对于一些不太熟悉的属性我才在webStorm中进行操作bfc:svg:canvas:1.2 CSS1.3 JS数组遍历粒子动画1.4 其它git常用命令 文章详情链接:【http://blog.csdn.net/qq_36

2017-12-24 23:38:03 164

转载 CSP(Content Security Policy),在一定程度上能预防XSS攻击

在介绍CSP之前,我们先先来了解一下什么是XSS攻击?XSS攻击:一种常见的跨脚本web攻击方式,它通过向浏览器注入一段可执行的恶意脚本代码,并且被浏览器成功的执行来达到攻击的目的。一次XSS攻击可以获取到用户的联系方式,向用户发送诈骗信息,甚至可以可以通过SQL注入来攻击数据库XSS攻击的形成条件:向前端注入可执行的恶意代码代码能够被浏览器成功的执行 为了防止XSS攻击,要采取很多措施,非常

2017-12-23 15:37:11 1801

原创 git常用命令

1. Git 分布式管理系统,核心是跟踪文件的修改一:git基本配置:1. mac全局安装. sudo apt-get install git2. 进行配置(相当于个人认证) git config —global user.name “your name”git config --global user.email"[email protected]"

2017-12-17 19:28:15 255

原创 事件冒泡机制

事件冒泡:当某个子标签的事件被触发后,执行完绑定该事件的函数后,会依次触发所有的父标签事件,一直传递到根标签,在这个标签嵌套关系链中,如果某个标签绑定了同名事件,则执行该事件,否则继续向上一级传递;也可以理解为这种比较粗暴的说法:事件冒泡顾名思义就是往外冒,从里到外依次触发绑定的同名事件函数。 事件捕获:当用户触发某个标签后,会从根标签开始逐层向子标签寻找该事件的标签。延续粗暴的风格,事件捕获就是

2017-08-31 21:48:45 470

原创 ajax基础介绍

前导:Ajax通过js语法的异步网络请求技术,实现页面局部更新,之前所使用的的form表单、a标签都是全部更新页面 异步:在执行到耗时操作时,先去执行其他代码,等耗时操作处理完毕后,再通过回调函数处理耗时操作 同步:在执行到耗时操作时,会一直等待直到操作处理完毕,再去执行其他代码。 1、如何创建ajax对象 1)创建一个对象,检查浏览器是否支持XMLHttp

2017-08-26 21:32:44 190

原创 this指针在普通函数、对象方法、定时器、构造函数、事件函数、call()、apply()中的执行

前导: this是JavaScript中的一个关键字,在不同的场景中,this指向的对象也不同。在其他面向对象语言中(如C#),this就是指向当前对象。而在JavaScript 中this是在代码运行时绑定的,相对而言this指向比较混乱。在代码运行时this可以指向window对象,也可以指向当前调用对象,还可以指向其他对象。 Javascript调用函数有以下方式:普通函数、对象方法、定时器

2017-08-26 19:21:56 493

空空如也

空空如也

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

TA关注的人

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