自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

work hard

dream big

  • 博客(44)
  • 收藏
  • 关注

转载 深入浅出ES6(十四):let和const

今天我想要谈论的是一个集谦逊与惊人的野心于一身的新特性。今天我们一定要把这些与变量有关的问题拿下。问题 #1:JS没有块级作用域请看这样一条规则:在JS函数中的var声明,其作用域是函数体的全部。乍一听没什么问题,但是如果碰到以下两种情况就不会得到令人满意的结果。其一,在代码块内声明的变量,其作用域是整个函数作用域而不是块级作用域。你之前可能没有关注

2017-03-30 17:24:36 468

转载 深入浅出ES6(十三):类 Class

你可能觉得之前讲解的内容略显复杂,今天我们就讲解一些相对简单的内容,不再是生成器(Generator)这样前所未闻的全新编码方式,也不是诸如代理(Proxy)这种为JavaScript内部算法工作原理提供钩子的全能对象,更不是能够为开发提供便利的新型数据结构。简单来说,我们将要一起讨论如何根据语言习惯简化对象构造函数的创建过程。目前面临的问题假如我们想要创建一个经典的面向对象设计示

2017-03-30 14:13:54 298

原创 XPath获取带命名空间的XML

当XML不带命名空间时,通过XPath获取XML节点很简单,详见w3school。当XML带有(多个)命名空间时:一、问题及解决XML文档结构:根节点Workbook:如果要读取最后一个Worksheet节点的子节点:XPath为"//Worksheet[last()]/Table/Row[1]/Cell[1]"时是取不到值的。这是可以用//*[

2017-03-30 11:17:19 7221

转载 XSL控制循环次数

XSL需要添加循环的情况有:自定义循环次数;根据源XML文件中有重复的标签等等。对于源XML有重复标签的又可以分为“可套用一个模板的内容”在一个标签内,和不在一个标签内举个栗子: 33 22和 33 22 一、不在一个标签内模板:调用:二、在一个标签内直接使

2017-03-30 11:03:44 2570

转载 XSL中template的match属性匹配模式

出处:http://www.cnblogs.com/ygcao/archive/2010/05/23/1742247.html匹配模式1.匹配根节点2.匹配元素名3.匹配子节点除了使用“/”,还可以使用“*”来匹配任意元素。在下面的程序中匹配了“film”元素的所有子节点的“name”元素。4.匹配元素后代

2017-03-28 14:55:57 5131

转载 CSS3background-size背景图片尺寸属性

出处:http://sentsin.com/web/939.htmlbackground-size 可以设置背景图片的大小,数值包括 长度length和百分比percentage。 并且会根据背景原点位置 background-origin 设置其图片覆盖的范围。那么下面我们一起来了解这个background-size属性吧。background-size语法w3c对b

2017-03-25 17:55:17 1991

转载 浅析两列自适应布局的3种思路

出处:http://www.jb51.net/css/456664.html思路一: float在单列定宽单列自适应的两列布局中,经常用float和负margin配合实现布局效果。但由于margin取值只能是固定值,所以在两列都是自适应的布局中就不再适用。而float和overflow配合可实现两列自适应效果。使用overflow属性来触发bfc,来阻止浮动造成的文字环绕效果。

2017-03-25 16:28:45 687

转载 jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配

指定元素中包含 id 属性的, 如: $("span[id]") 指定元素中不包含 id 属性的, 如: $("span:not(span[id])") 或 $("span:not([id])") 包含 id 属性的, 如: $("body [id]") 符合元素值的, 如: $("span[name='S2']") 不符合元素值的, 如: $(

2017-03-22 11:35:22 747

转载 一道前端面试题

出处:http://www.qdfuns.com/notes/17398/e8a1ce8f863e8b5abb530069b388a158/page/.html题如下:for (var i = 0; i < 3; i++) { setTimeout(function() { console.log(i); }, 0); console.log(i);}结果:0 1 2 3 3

2017-03-22 11:30:54 262

原创 jQuery中使用canvas

原生JavaScript:var cas=document.getElementById('canvas').getContext('2d');jQuery:$(document).ready(function(){ var cas=$('#canvas')[0].getContext('2d');/添加数值索引,转换为dom对象 cas.fillRect(10

2017-03-22 10:59:06 3473

转载 深入浅出ES6(十二):代理 Proxies

接口可以详细说明两段代码的交互方式以及交互双方对另一半的需求。所以如果一旦在系统中设计好了接口,轮廓自然就清晰了,这样就可以任意替换接口两侧的内容而不影响二者的交互过程。如果没有现成的接口,就需要施展你的创意才华来创造新接口,有史以来最酷的软件hack总是会勾勒一些之前从未有过的API边界,然后通过大量的工程化实践将接口引入到现有的体系中去。虚拟内存、硬件虚拟化、Docker、Va

2017-03-21 16:04:22 764

原创 ECMAScript 6 入门

http://es6.ruanyifeng.com/作者:阮一峰很有参考价值

2017-03-20 16:41:27 300

转载 深入浅出ES6(十一):生成器 Generators,续篇

在之前的文章《深入浅出ES6(三):生成器 Generators》中,我为大家介绍了ES6中引入的新特性——生成器(Generators),我认为它是ES6中最具魔力的特性,很可能是异步编程下一步的发展方向。后来我这样写道:生成器还有更多未提及的特性,例如:.throw()和.return()方法、可选参数.next()、yield*表达式语法。由于行文过长,估计观众老爷们已然疲乏,我

2017-03-20 16:30:42 481

转载 深入浅出ES6(十):集合

前段时间,官方名为“ECMA-262,第六版,ECMAScript 2015语言规范”的ES6规范终于结束了最后的征途,正式被认可为新的ECMA标准。让我们祝贺TC39等所有作出贡献人们,ES6终于定稿了!更好的消息是,下次更新不需要再等六年了。委员会现在努力要求,大约每12个月完成一个新的版本。第七版提议已经开始。现在是时候庆祝庆祝了,让我们来讨论一些很久以来我一直希望在JS里看

2017-03-20 15:54:10 3542

转载 深入浅出ES6(九):学习Babel和Broccoli,马上就用ES6

自ES6正式发布,人们已经开始讨论ES7:未来版本会保留哪些特性,新标准可能提供什么样的新特性。作为Web开发者,我们想知道如何发挥这一切的巨大能量。在深入浅出ES6系列之前的文章中,我们不断鼓励你开始在编码中加入ES6新特性,辅以一些有趣的工具,你完全可以从现在开始使用ES6:如果你想在Web端使用这种新语法,你可以通过Babel或Google的Traceur将你的ES6代码转译为W

2017-03-20 14:54:41 312

转载 深入浅出ES6(八):Symbols

你是否知道ES6中的Symbols是什么,它有什么作用呢?我相信你很可能不知道,那就让我们一探究竟!Symbols并非用来指代某种Logo。它们也不是可以用作代码的小图标。它们不是代替其它东西的文学手法。它们更不可能被用来指代谐音词Cymbals(铙钹)。(编程的时候最好不要演奏铙钹,它们太过吵闹,很可能导致你的程序崩溃。)那么,Symbol

2017-03-20 10:55:47 914

翻译 JavaScript中的this关键字,如何工作

ECMAScript Standard中定义this为evaluates to the value of the ThisBinding of the current execution context;//当前执行的上下文中的ThisBinding值ThisBinding是JavaScript解释器在评估JavaScript代码时维护的东西,就像一个特殊的CPU寄存器,它保存对一

2017-03-20 10:15:24 1180

转载 深入浅出ES6(七):箭头函数 Arrow Functions

箭头符号在JavaScript诞生时就已经存在,当初第一个JavaScript教程曾建议在HTML注释内包裹行内脚本,这样可以避免不支持JS的浏览器误将JS代码显示为文本。你会写这样的代码: script language="javascript"> <!-- document.bgColor = "brown"; // red // --> scr

2017-03-20 10:04:26 507

转载 JavaScript中函数的语法糖(syntactic sugar)小结

语法糖(Syntactic sugar),是由Peter J. Landin(和图灵一样的天才人物,是他最先发现了Lambda演算,由此而创立了函数式编程)创造的一个词语,它意指那些没有给计算机语言添加新功能,而只是对人类来说更“甜蜜”的语法。语法糖往往给程序员提供了更实用的编码方式,有益于更好的编码风格,更易读。不过其并没有给语言添加什么新东西。(引自知乎甘强)其实就是一种更便捷

2017-03-20 09:35:14 3668

翻译 使用JavaScript生成器解决回调问题的研究

当我第一次开始编写node.js代码时,有两件事我讨厌:all the popular templating engines和the proliferation of callbacks。我愿意忍受回调,因为我理解基于事件的服务器的能力,但是后来我看到JavaScript生成器的到来,我迫切地期待它实施的那一天。现在,那一天到来了。他们已经部署在 landed in V8,并且Spider

2017-03-17 17:25:06 401

转载 深入浅出ES6(六):解构 Destructuring

译者按:Firefox开发者工具工程师Nick Fitzgerald最初在他的博客上发布了一篇文章——《ES6中的解构赋值》,本文基于这篇博文做了些许补充。什么是解构赋值?解构赋值允许你使用类似数组或对象字面量的语法将数组和对象的属性赋给各种变量。这种赋值语法极度简洁,同时还比传统的属性访问方法更为清晰。通常来说,你很可能这样访问数组中的前三个元素: var

2017-03-17 16:23:28 1373

转载 JavaScript Map

出处:http://www.cnblogs.com/yqskj/p/3349188.html用js写了一个Map,带遍历功能,请大家点评下啦。//map.jsArray.prototype.remove = function(s) { for (var i = 0; i < this.length; i++) { if (s == this[i]) this.s

2017-03-17 16:17:27 256

转载 深入浅出ES6(五):不定参数和默认参数

今天这篇文章将为你带来两个使JavaScript函数语法更富表现力的新特性:不定参数和默认参数。不定参数(参数个数不定?)我们通常使用可变参函数来构造API,可变参函数可接受任意数量的参数。例如,String.prototype.concat方法就可以接受任意数量的字符串参数。ES6提供了一种编写可变参函数的新方式——不定参数。我们通过一个简单的可变参数函数contains

2017-03-17 15:34:33 2038 1

转载 深入浅出ES6(四):模板字符串

在上一篇文章中,我说过要写一篇风格迥异的新文章,在了解了迭代器和生成器后,是时候来品味一些不烧脑的简单知识,如果你们觉得太难了,还不快去啃犀牛书!现在,就让我们从最简单的知识学起吧!反撇号(`)基础知识ES6引入了一种新型的字符串字面量语法,我们称之为模板字符串(template strings)。除了使用反撇号字符 ` 代替普通字符串的引号 ' 或 "外,它们看起来与普通

2017-03-17 14:59:03 5917 1

翻译 模板字面量

JavaScript,ES6标准中,支持使用反引号``的字符串插值。这种功能成为模板字面量。栗子:var apples = 4;var bananas = 3;console.log(`I have ${apples} apples`);console.log(`I have ${apples + bananas} fruit`);输出:I have 4

2017-03-17 14:50:59 947

转载 深入浅出ES6(三):生成器 Generators

今天的这篇文章令我感到非常兴奋,我们将一起领略ES6中最具魔力的特性。为什么说是“最具魔力的”?对于初学者来说,此特性与JS之前已有的特性截然不同,可能会觉得有点晦涩难懂。但是,从某种意义上来说,它使语言内部的常态行为变得更加强大,如果这都不算有魔力,我不知道还有什么能算。不仅如此,此特性可以极大地简化代码,它甚至可以帮助你逃离“回调地狱”。既然新特性如此神奇,那么就一起深

2017-03-17 14:34:39 479

转载 深入浅出ES6(二):迭代器和for-of循环

我们如何遍历数组中的元素?20年前JavaScript刚萌生时,你可能这样实现数组遍历:for (var index = 0; index myArray.length; index++) { console.log(myArray[index]);}自ES5正式发布后,你可以使用内建的forEach方法来遍历数组:myArray.forEach(function (va

2017-03-17 13:23:16 518

转载 ES6深入浅出(一)

不是新标准,2015年出的出处:http://www.infoq.com/ECMAScript发生了什么变化?编程语言JavaScript是ECMAScript的实现和扩展,由ECMA(一个类似W3C的标准组织)参与进行标准化。ECMAScript定义了:语言语法 – 语法解析规则、关键字、语句、声明、运算符等。类型 – 布尔型、数字、字符串、对

2017-03-17 10:33:51 515

转载 如何用jquery获取input输入框中的值?

如何用jquery获取中输入的值?$(" #test ").val()$(" input[ name='test' ] ").val()$(" input[ type='text' ] ").val()$(" input[ type='text' ]").attr("value")

2017-03-16 15:44:50 2713

原创 input file样式设置

需要提交input上传的文件等内容,所以需要form表单HTML代码 CSS样式#outData{ width:96%; background:#FFFFFF; height:100%; text-align:right; margin:0 auto;}#upload{ display: inline-block; margin-top:5px

2017-03-16 15:41:46 1523

原创 JavaScript继承实现

使用JavaScript写自己的继承方法,主要用到javascript原型和构造方法方面的知识。 使用javascript实现继承 //sub是子类,sup是父类 function extend(sub,sup){ // 目的: 实现只继承父类的原型对象 var F = new Function();// 1 创建一个空函数 目的:空函数进行

2017-03-16 14:19:03 429

转载 JavaScript构造函数

普通函数和构造函数的区别在命名规则上,构造函数一般是首字母大写,普通函数遵照小驼峰式命名法。在函数调用的时候:function fn() { }     构造函数:1. new fn( )                     2 .构造函数内部会创建一个新的对象,即f的实例                     3. 函数内部的this指向

2017-03-16 14:03:02 296

转载 javascript原型

function Person(name, age){ this.name = name; this.age = age; this.getInfo = function(){ console.log(this.name + " is " + this.age + " years old"); };}var will = new Pe

2017-03-16 11:00:21 149

原创 JavaScript Array

一、JavaScript数组1.声明var myArray=new Array(); //声明一个名为myArray的数组对象2.赋值2.1var mycars=new Array() //var mycars=new Array(3)mycars[0]="Saab"mycars[1]="Volvo"mycars[2]="BMW"2.2var

2017-03-15 14:28:50 364

翻译 Git学习

一、版本控制系统集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。集中式版本控制系统最大的毛病就是必须联网才能工作。Git是分布式版本控制系统。首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,工作的时候,不需要联网,因为

2017-03-14 14:31:33 185

转载 jquery 元素控制(追加元素/追加内容)介绍及应用

一、在元素内部/外部追加元素二、在元素的不同位置追加内容三、在元素的开始位置追加内容四、在不同元素的开始位置追加内容等等,感兴趣的朋友可以参考下哈一、在元素内部/外部追加元素 append,prepend:添加到子元素 before,after:作为兄弟元素添加 html: 复制代码代码如下: 在我的后面追加一条新闻  Jav

2017-03-13 14:55:39 358

转载 jQuery选择器的结果是prevobject:e.fn.e.init [1]我怎么得到一个元素

var obj = $(".class"); console.log(obj); //返回的是prevobject:e.fn.e.init [1]与jQuery源码入口有关要点:构造函数 原型对象 new Contruction()的执行过程 封装(立即执行函数)根据上面的概念,jQuery本质也是一个构造函数,但是从始至终,都没有new j

2017-03-13 14:48:55 17374 1

翻译 JS中如何处理多个ajax并发请求?

js中的多并发处理。通常 为了减少页面加载时间,先把核心内容显示处理,页面加载完成后再发送ajax请求获取其他数据这时就可能产生多个ajax请求,为了用户体验,最好是发送并行请求,这就产生了并发问题,应该如何处理?(1)并行改串行如果业务逻辑和用户体验允许的情况下,可以改为串行,处理起来最简单function async1(){//do sth...as

2017-03-09 16:08:51 42302

翻译 XML Parser for JavaScript - xml2array()

JavaScript的XML解析器 - xml2array()xml2array()解析给定的XML文档并返回关联数组中的数据。使用XmlHttp.onreadystatechange = function() { if(XmlHttp.readyState == 4 && XmlHttp.status == 200) { var arr = xml2array(XmlH

2017-03-07 17:12:17 559

转载 全面了解JavaScript的函数声明与函数表达式、变量提升

函数的声明方式在定义一个函数的时候通常有两种声明方式:?12foo(){};  // 函数声明varfoo = function(){}; // 函数表达式不同之处1、函数表达式后面加括号可以直接执行2、函数声明会提前预解析预解

2017-03-07 17:02:00 257

空空如也

空空如也

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

TA关注的人

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