自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 利用函数节流来提升性能

原文转自:http://www.cnblogs.com/dolphinX/p/3403821.html最近在做网页的时候有个需求,就是浏览器窗口改变的时候需要改一些页面元素大小,于是乎很自然的想到了window的resize事件,于是乎我是这么写的DOCTYPE html>html>head> title>Throttletitle>head>body>

2016-07-25 12:16:21 815

原创 简要说一下CMD和AMD的区别

关于这两个的区别网上可以搜出一堆文章,简单总结一下最明显的区别就是在模块定义时对依赖的处理不同AMD推崇依赖前置,在定义模块的时候就要声明其依赖的模块CMD推崇就近依赖,只有在用到某个模块的时候再去require这种区别各有优劣,只是语法上的差距,而且requireJS和SeaJS都支持对方的写法AMD和CMD最大的区别是对依赖模块的执行时机处理不同,注意不是加载的

2016-07-25 11:54:41 1286

转载 百度移动端首页前端速度那些事儿

原文转自:https://segmentfault.com/a/11900000058849851 长什么样?我们的业务就是 https://m.baidu.com别以为只有一个搜索框,我们还有下面丰富的卡片内容,可以提供各式各样的服务。如图1.1图1.1其实整个页面的逻辑相对是比较复杂的。还有各式各样的卡片,轻轻下拉,即可看到,如图1.2图1.

2016-07-18 11:28:29 2027

转载 了解无阻塞加载javascript脚本技术

偶然间看到这样一篇博客,内容很详细,概念解释的也很通俗,转过来与大家分享一下,学习学习。原文转自:http://ghdcblog.cn/article/%E4%BA%86%E8%A7%A3%E6%97%A0%E9%98%BB%E5%A1%9E%E5%8A%A0%E8%BD%BDjavascript%E8%84%9A%E6%9C%AC%E6%8A%80%E6%9C%AF#浏览器里 的http

2016-05-17 14:44:34 1996

转载 前端性能分析

原文转自:http://www.cnblogs.com/strick/p/5475758.html?ref=myread有个官方网址《Even Faster Web Sites》,点击“Run the Examples”按钮,就能进入在线demo。在Github上面有个叫awesome-wpo的项目,里面记录了各个方面关于性能的资源,有书籍、文章、工具等。下面所有的实验都是

2016-05-17 14:05:25 764

转载 12个非常实用的JavaScript小技巧

原文转自:http://www.codeceo.com/article/12-useful-javascript-tips.html在这篇文章中将给大家分享12个有关于JavaScript的小技巧。这些小技巧可能在你的实际工作中或许能帮助你解决一些问题。使用!!操作符转换布尔值有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值。为了做

2016-05-17 13:31:05 325

转载 利用a标签自动解析URL

原文出自:http://www.cnblogs.com/Wayou/p/things_you_dont_know_about_frontend.html很多时候我们有从一个URL中提取域名,查询关键字,变量参数值等的需要,而万万没想到可以让浏览器方便地帮我们完成这一任务而不用我们写正则去抓取。方法就在JS代码里先创建一个a标签然后将需要解析的URL赋值给a的href属性,然后就得到了一切我

2016-05-16 20:31:28 840

转载 15个必须知道的chrome开发者技巧(GIF)

原文转自:前端乱炖 http://www.html-js.com/article/3003在Web开发者中,Google Chrome是使用最广泛的浏览器。六周一次的发布周期和一套强大的不断扩大开发功能,使其成为了web开发者必备的工具。你可能已经熟悉了它的部分功能,如使用console和debugger在线编辑CSS。在这篇文章中,我们将分享15个有助于改进你的开发流程的技巧。一

2016-05-16 15:41:23 392

转载 js模块化历程

原文转自:http://www.cnblogs.com/lvdabao/p/js-modules-develop.html这是一篇关于js模块化历程的长长的流水账,记录js模块化思想的诞生与变迁,展望ES6模块化标准的未来。经历过这段历史的人或许会感到沧桑,没经历过的人也应该知道这段历史。 无模块时代在ajax还未提出之前,js还只是一种“玩具语言”,由Bren

2016-05-16 15:37:01 918

转载 前后端数据交互方法

前后端数据交互方法在此介绍几种常用的前后端数据交互方法,并给出使用建议。以提高前后端协同开发的效率。此文章适合前后端协同开发经验不足的新手阅读。目录:HTML赋值JS赋值script填充JSONAJAX获取JSONWebSocket实时传输数据总结HTML赋值输出到 Element 的 value 或 data-nameinput t

2016-05-15 15:10:57 2936

原创 javascript 的 继承(六) 之 寄生组合式继承

前面说过,组合继承是JavaScript 最常用的继承模式;不过,它也有自己的不足。组合继承最大的问题就是无论什么情况下,都会调用两次超类型构造函数:一次是在创建子类型原型的时候,另一次是在子类型构造函数内部。没错,子类型最终会包含超类型对象的全部实例属性,但我们不得不在调用子类型构造函数时重写这些属性。再来看一看下面组合继承的例子。function SuperType(name)

2016-04-25 16:54:36 400

原创 javascript 的 继承(五) 之 寄生式继承

寄生式(parasitic)继承是与原型式继承紧密相关的一种思路,并且同样也是由克罗克福德推而广之的。寄生式继承的思路与寄生构造函数和工厂模式类似,即创建一个仅用于封装继承过程的函数,该函数在内部以某种方式来增强对象,最后再像真地是它做了所有工作一样返回对象。以下代码示范了寄生式继承模式。function createAnother(original){ var clone

2016-04-25 16:50:50 397

原创 javascript 的 继承(四) 之 原型式继承

道格拉斯·克罗克福德在2006 年写了一篇文章,题为Prototypal Inheritance in JavaScript (JavaScript中的原型式继承)。在这篇文章中,他介绍了一种实现继承的方法,这种方法并没有使用严格意义上的构造函数。他的想法是借助原型可以基于已有的对象创建新对象,同时还不必因此创建自定义类型。为了达到这个目的,他给出了如下函数。function obje

2016-04-25 16:44:13 442

原创 算法小游戏---支付宝之趣味发红包

问题如下:春节期间,甲乙丙三人用支付宝玩发红包游戏,只能通过各自账户余额来发红包,第一轮甲给乙的红包金额等于乙支付宝里面的账户余额,甲给丙的红包金额等于丙支付宝钱包的账户余额,与此同时,第二轮乙给甲和丙的红包金额等于他们各自支付宝钱包的账户余额,第三轮丙给甲和乙的红包金额等于他们各自支付宝钱包里面的账户余额,若最后大家支付宝钱包里面的余额都是16元,则甲最初的支付宝钱包账户余额为多少?

2016-04-23 15:04:54 2624

转载 Flexbox如何将页面底部固定在屏幕最下方

原文:Quick Tip: The Best Way To Make Sticky Footers当你在布局网页时,有可能会遇到类似下面的这种情况导致这一问题的原因是页面内容太少,无法将内容区域撑开,从而在 footer 下面留下一大块空白。本文将介绍一种现代化的方法,确保 footer 始终处于页面的底部。解决方法解决该问题的最好方法是采用 flexbox——C

2016-04-23 14:22:47 14254

原创 HTML表单设计应该注意什么

今天看到一篇文章,是关于HTML表单设计问题的,于是我认真反思了一下,发现自己平时在设计页面表单时,也或多或少的存在这样的问题,所以就写出来和大家分享一下,希望大家以后在设计表单的过程中尽可能的避免这些问题,从而改善页面的用户体验...在网站中,表单是用户跟我们沟通的主要桥梁。透过表单,用户可以买东西、订阅新文章、更新资料……可以说网站最重要的功能,都是靠表单来完成。那么我们在设计表单

2016-04-23 14:00:59 1602

原创 javascript 的 继承(三) 之 组合继承

组合继承(combination inheritance),有时候也叫做伪经典继承,指的是将原型链和借用构造函数的技术组合到一块,从而发挥二者之长的一种继承模式。其背后的思路是使用原型链实现对原型属性和方法的继承,而通过借用构造函数来实现对实例属性的继承。这样,既通过在原型上定义方法实现了函数复用,又能够保证每个实例都有它自己的属性。下面来看一个例子。function SuperType(

2016-04-22 21:32:10 315

原创 javascript 的 继承(二) 之 借用构造函数继承

在解决原型中包含引用类型值所带来问题的过程中,开发人员开始使用一种叫做借用构造函数(constructor stealing)的技术(有时候也叫做伪造对象或经典继承)。这种技术的基本思想相当简单,即在子类型构造函数的内部调用超类型构造函数。别忘了,函数只不过是在特定环境中执行代码的对象,因此通过使用apply()和call()方法也可以在(将来)新创建的对象上执行构造函数,如下所示:f

2016-04-22 21:23:30 544

原创 javascript 的 继承(一) 之 原型链继承

继承继承是 OO语言中的一个最为人津津乐道的概念。许多 OO语言都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。如前所述,由于函数没有签名,在 ECMAScript中无法实现接口继承。ECMAScript只支持实现继承,而且其实现继承主要是依靠原型链来实现的。1.原型链 ECMAScript中描述了原型链的概念,并将原型链作为实现

2016-04-22 11:55:38 4075

原创 javascript设计模式介绍(七)稳妥构造函数模式

道格拉斯·克罗克福德(Douglas Crockford)发明了 JavaScript中的稳妥对象(durable objects)这个概念。所谓稳妥对象,指的是没有公共属性,而且其方法也不引用 this 的对象。稳妥对象最适合在一些安全的环境中(这些环境中会禁止使用 this 和 new),或者在防止数据被其他应用程序(如 Mashup程序)改动时使用。稳妥构造函数遵循与寄生构造函数类似的模式,

2016-04-22 11:49:54 741

原创 javascript设计模式介绍(六)寄生构造函数模式

这种模式的基本思想是创建一个函数,该函数的作用仅仅是封装创建对象的代码,然后再返回新创建的对象;但从表面上看,这个函数又很像是典型的构造函数。下面是一个例子。function Person(name, age, job){ var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayN

2016-04-22 11:42:53 521

原创 javascript设计模式介绍(五)动态原型模式

有其他 OO语言经验的开发人员在看到独立的构造函数和原型时,很可能会感到非常困惑。动态原型模式正是致力于解决这个问题的一个方案,它把所有信息都封装在了构造函数中,而通过在构造函数中初始化原型(仅在必要的情况下),又保持了同时使用构造函数和原型的优点。换句话说,可以通过检查某个应该存在的方法是否有效,来决定是否需要初始化原型。来看一个例子。function Person(name,

2016-04-22 11:27:18 555

原创 javascript设计模式介绍(四)组合使用构造函数模式和原型模式

创建自定义类型的最常见方式,就是组合使用构造函数模式与原型模式。构造函数模式用于定义实例属性,而原型模式用于定义方法和共享的属性。结果,每个实例都会有自己的一份实例属性的副本,但同时又共享着对方法的引用,最大限度地节省了内存。另外,这种混成模式还支持向构造函数传递参数;可谓是集两种模式之长。下面的代码重写了前面的例子。functionPerson(name, age, job){

2016-04-22 11:23:35 1057

原创 javascript设计模式介绍(三) 原型模式 扩展知识

原型与 in 操作符有两种方式使用 in 操作符:单独使用和在for-in 循环中使用。在单独使用时,in 操作符会在通过对象能够访问给定属性时返回 true,无论该属性存在于实例中还是原型中。看一看下面的例子。functionPerson(){}Person.prototype.name= "Nicholas";Person.prototype.age= 29;P

2016-04-22 10:50:34 2720

原创 javascript设计模式介绍(三) 原型模式

我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。如果按照字面意思来理解,那么 prototype 就是通过调用构造函数而创建的那个对象实例的原型对象。使用原型对象的好处是可以让所有对象实例共享它所包含的属性和方法。换句话说,不必在构造函数中定义对象实例的信息,而是可以将这些信息直接添加到原型

2016-04-22 10:25:30 2882

原创 javascript设计模式介绍(二) 构造函数模式

我们可以通过创建自定义的构造函数,从而定义自定义对象类型的属性和方法。例如:function  Person(name.age,sex){this.name = name;this.age = age;this.sex = sex;this.sayName = function(){ alert(this.name); }}然后我们实例一个Personvar p

2016-04-22 09:53:45 291

原创 javascript设计模式介绍(一) 工厂模式

创建对象虽然object构造函数或者对象字面量都可以创建单个对象,这种方式有着明显的缺点:使用同一个接口创建很多对象,会产生大量的重复代码。那么如何解决这个问题呢?工厂模式这种模式抽象了创建具体对象的过程,考虑到ECMAScript中无法创建类,开发人员就发明了一种函数,用函数来封装以特定接口创建对象的细节。function createPerson(name, age

2016-04-22 09:48:29 340

转载 认识WebSocket

认识HTML5的WebSocket在HTML5规范中,我最喜欢的Web技术就是正迅速变得流行的WebSocket API。WebSocket提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端使用简单的语法有效地推动消息到服务器。让我们看一看HTML5的WebSocket API:它可用于客户端、服务器端。而且有一个优秀的第三方API,名为S

2016-04-20 18:00:21 373

原创 CMD常用命令

CMD命令速查手册 cmd命令大全 分享一些CMD命令   希望大家可以用到ASSOC 显示或修改文件扩展名关联。       AT 计划在计算机上运行的命令和程序。       ATTRIB 显示或更改文件属性。        BREAK 设置或清除扩展式 CTRL+C 检查。        CACLS 显示或修改文件的访问控制列表(ACLs)。       CALL

2016-04-20 10:14:48 305

转载 WEB页面的客户端缓存

对于web页面中的js和css文件,浏览器并不是每次都请求完整的内容,有时候会直接利用本地的缓存。有一些页面,我们不会经常性的更新,页面内容比较固定,那么如果我们每次请求的时候都要重新加载一遍静态文件,这无疑对服务器来说是一种浪费,因此我们会希望能够将这些不会经常变动的静态文件缓存到客户端,这样我们在发送http请求时,服务器只要响应部分文件就可以了,那些不会经常变动更改的文件直接从客户端缓存

2016-04-20 09:28:37 4059

转载 关于reflow回流问题

reflow(英音:[ri:’fləu] 美音:[ri’flo])在词典中的解释是回流,逆流。而在web应用中,翻译为回流有些牵强。我个人觉得,理解为回炉(重新塑形),似乎更加形象一点。举个例子,页面上节点是以树的形式展现的。假如我使用JavaScript砍掉一个节点,这棵树为了不脱节,肯定要重新梳理一遍,将砍掉的那个断点重新结合起来又形成一颗完整的树,而这个结合梳理过程就是这里的reflow,所

2016-04-19 11:05:15 917

空空如也

空空如也

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

TA关注的人

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