自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 新变量声明let

很多语言中都有块级作用域,但js没有,它使用var声明变量,以function来划分作用域,大括号“{}” 却限定不了var的作用域。用var声明的变量具有变量提升(declaration hoisting)的效果。ES6里增加了一个let,可以在{}, if, for里声明。用法同var,但作用域限定在块级,let声明的变量不存在变量提升。 示例1: 块级作用域 if

2017-08-29 22:06:25 976

转载 二十位活跃在github上的国内技术大牛

文列举了20位在Github上非常活跃的国内大牛,看看其中是不是很多熟悉的面孔?1. lifesinger(玉伯)Github主页:        https://github.com/lifesinger微博:@        玉伯也叫射雕玉伯(王保平),淘宝前端类库 KISSY、前端模块化开发框架SeaJS、前端基础类库Arale的创始人。2003-2006

2017-08-29 21:16:40 511

原创 封装cookie

一、设置cookie function setCookie( key ,value , timer ){ var oDate = new Date(); oDate.setDate( oDate.getDate() + timer ); document.cookie = key + "=" + value + ';expires=' + oDate.toGMTStri

2017-08-24 10:12:37 221

原创 js实现五种排序

一、冒泡排序思想:比较两个相邻的项,如果前者比后者大,则交换 function bubbleSort(arr){ var length = arr.length, temp; for (var i=0;i<length;i++ ) { for (var j=0;j<length-1-i;j++)//减i是除去不交换的情况 { if (a

2017-08-24 09:59:49 826

原创 js实现二分搜索的两种方法

一、递归方法 function binarySearch(arr,item,start,end){ var length = arr.length, start = start || 0, end = end || length -1, mid = Math.floor((start+end)/2); if (arr[mid] === item) {

2017-08-24 09:15:30 308

转载 闭包--整理

(文章说明:关于对闭包的解释,有人总结的很好,我就直接转啦;其余部分为自己整理)一、什么是闭包?JavaScript中所有的function都是一个闭包。不过一般来说,嵌套的function所产生的闭包更为强大,也是大部分时候我们所谓的“闭包”。原理:所谓“闭包”,就是在构造函数体内定义另外的函数作为目标对象的方法函数,而这个对象的方法函数反过来引用外层函数体中的临时变量。这使得只

2017-08-23 22:04:50 317

转载 JavaScript中_proto_和prototype的区别和关系?

_proto_(隐式原型)与prototype(显式原型)1.是什么显式原型 explicit prototype property:每一个函数在创建之后都会拥有一个名为prototype的属性,这个属性指向函数的原型对象。Note:通过Function.prototype.bind方法构造出来的函数是个例外,它没有prototype属性。NOTE Function o

2017-08-23 16:58:02 369

转载 HTTP缓存详解

文章分为三部分,我们先来统一梳理一下一个缓存请求的过程,然后从请求头以及响应头缓存相关字段进行解析,最后总结一下前端需要了解的对于缓存的操作一 . 缓存过程:当一个用户发起一个静态资源请求的时候,浏览器会通过以下几步来获取资源当第一次发送请求,http返回200的状态码,如果没有关闭缓存请求的话(没标明不使用缓存,下述)则会在返回头中返回包含last-M

2017-08-23 16:28:06 191

转载 HTTP详解

什么是http协议:引用百度百科的话说来就是:http协议其实就是超文本传输协议,超文本传输协议 (HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。目前我们使用的http版本是http/1.1其前身是http/1.0。关于两个版本不同,下面会不时提及。在整个iso传输

2017-08-23 16:26:18 343

转载 JavaScript高级选择器querySelector和querySelectorAll

querySelector 和 querySelectorAll 方法是 W3C Selectors API 规范中定义的。他们的作用是根据 CSS 选择器规范,便捷定位文档中指定元素。目前几乎主流浏览器均支持了他们。包括 IE8(含) 以上版本、 Firefox、 Chrome、Safari、Opera。querySelector和querySelectorAll的参数须

2017-08-23 15:40:05 489

转载 JS异步编程的方式

一、回调函数这是异步编程最基本的方法。假定有两个函数f1和f2,后者等待前者的执行结果。  f1();  f2();如果f1是一个很耗时的任务,可以考虑改写f1,把f2写成f1的回调函数。  function f1(callback){    setTimeout(function () {      // f1的任务代码

2017-08-22 22:13:50 253

转载 JS延迟加载的方式

延迟加载JavaScript,也就是页面加载完成之后再加载javascript,也叫on demand(按需)加载,一般有一下几个方法:1. 动态创建DOM方式head append script tag[javascript] view plain copywindow.onload = function () {      set

2017-08-22 15:35:46 405

转载 HTML 5离线Web应用(整理)

一、开发支持离线Web 应用的目的:随着互联网的发展,用户提交的数据渐渐成为互联网的主流。那么在开发支持离线的 Web 应用时,就不能仅仅满足于静态页面的展现,还必需考虑如何让用户在离线状态下也可以操作数据。离线状态时,把数据存储在本地;在线以后,再把数据同步到服务器上。二、在开发支持离线的 Web 应用程序时,开发者通常需要使用以下三个方面的功能:1.离线资源缓存:需要一种方式来指明

2017-08-21 21:43:06 2442

转载 当你在浏览器地址栏输入一个URL后回车,浏览器做了什么?

以下是一个大概流程:1. 浏览器向DNS服务器查找输入URL对应的IP地址。2. DNS服务器返回网站的IP地址。3. 浏览器根据IP地址与目标web服务器在80端口上建立TCP连接4. 浏览器获取请求页面的html代码。5. 浏览器在显示窗口内渲染HTML。6. 窗口关闭时,浏览器终止与服务器的连接。这其中最有趣的是第1步和第2步(域名解析)。我们输入的网址(域名)是IP地址的一

2017-08-21 16:54:16 10016

转载 JS中return false,return,return true的用法及区别

首先return作为返回关键字,他有以下两种返回方式1.返回控制与函数结果语法为:return 表达式; 语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果2.返回控制无函数结果语法为:return;在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个元素,页面会跳转到该元素href属性指定的页. 例如:链接

2017-08-17 10:53:36 966

转载 JS实现DOM树的遍历

二叉 DOM 树的遍历[javascript] view plain copyfunction Tree() {                var Node = function(key){              this.key = key;              this.left = null;       

2017-08-10 21:43:05 3903

转载 Array.prototype.slice.call()方法详解

在很多时候经常看到Array.prototype.slice.call()方法,比如Array.prototype.slice.call(arguments),下面讲一下其原理:1、基本讲解1.在JS里Array是一个类 slice是此类里的一个方法 ,那么使用此方法应该Array.prototype.slice这么去用 slice从字面上的意思很容易理解就是截取(当然你不

2017-08-10 16:38:07 260

原创 找出数组的重复元素

法一:将一个数组作为另一个数组的下标 function duplicates(arr){ //result数组用来存放结果,count数组用来存放arr中每个元素的个数 var result = [],count = []; //遍历arr,如果以arr中元素为下标的count元素已存在,则该count元素加1,否则设置为1 for (var i=0;i<arr.l

2017-08-10 15:31:44 431

转载 原生js实现数组去重的5种方法

遍历数组法(√)最简单的去重方法,实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中;注意点:判断值是否在在数组的方法“indexOf” 是ECMAScript5方法,IE8以下的不支持,需要多写一些兼容低版本浏览器代码,代码如下:function unique1(array){ var n=[];//一个新的临时数组 for(var i=0;iarra

2017-08-10 15:17:33 1832

原创 ES6中集合的应用

1.实现并集、交集、差集 var set1 = new Set([1,2,3]); var set2 = new Set([2,3,4,5,6]); let union = new Set([...set1,...set2]); let intersect = new Set([...set1].filter(x => set2.has(x))); let diff

2017-08-09 11:05:21 174

空空如也

空空如也

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

TA关注的人

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