自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 创建对象的几种方式

在javascript中,所有对象的创建都是基于原型的。在js中任意的对象都有一个内部属性[[Prototype]]。这个属性的值只能是object或者是null。对象有这个内部属性的目的就是为了实现继承,或者更明确的说实现属性(方法)的复用。所以说创建一个对象的关键就是确定[[prototype]]的值。一般情况下,如果创建了一个对象什么属性也没有那么这个对象的原型就是Object.protot

2017-04-11 18:25:20 4963

原创 里氏替换原则(LSP)

一、为什么需要LSP先看一个例子,有一个下载类,需要将要下载的file 保存在硬盘中。 <script>//硬盘类function HardDisk () { this.save = function (file) { console.log('硬盘正字保存 '+file); }}//下载类function Download ...

2017-04-09 19:33:21 638

原创 [] == false,和!![] == false结果为什么不一样?探究 == 本质

console.log([] == false, !![] == false);// true falseconsole.log([] === false, !![] === false);// false falseconsole.log([] == []);// falsevar a = [];console.log(a == !!a);//fasle先解析[] == f

2017-04-08 16:38:29 10566

原创 webkit资源加载

在浏览器整个渲染过程中,资源获取这一过程无疑是最消耗时间的,同时浏览器内核也通过了各种方式去减少事件,比如资源加载多线程、并发下载资源、DNS预处理、缓存资源、缓存网络请求等。下面介绍从用户输入URL到得到资源发生了什么,但是这个过程也是粗略的解读,对于详细的过程以及高性能的部分要去,相信《http 权威指南》可能会给你满意的答案。 在浏览器中对于每一种资源比如HTML、js、CSS、...

2017-04-07 18:16:03 974

原创 webkit内核渲染过程概述

由于资源加载过程和网络模块都可以多并发多线程的执行,所以可以请多个URL没有必要等到上一次url执行完毕之后在处理下一个URL,但即便如此也是需要一个url缓存的以便于应对多并发的情况。经过资源加载和网络模块之后,由于在整个渲染过程中,这个模块是非常慢的,只至于能把这一部分的优化做好可能对整个网络提升至关重要。当得到用户输入的url之后,就会请求资源加载模块进行资源加载,同时这个模块依

2017-04-07 16:04:38 1138

原创 我是这么理解设计和模式的

以下完全是我个人的理解,毕竟我项目经验不是很丰富,未免对一些概念理解有偏差,请多多斧正。 现代一个软件开发无论是遵循敏捷开发也好都是不断迭代的,之所以迭代是因为在开发过程中出现了很多问题,但是最重要的一个因素就是需求的不断变化,这个需求可能是增加的新功能或者是原来需求行为的改变。  在软件开发过程中如何保证在面向对象设计中更好的去迎合这种需求不断变化因素呢?也就是在...

2017-04-07 12:32:25 370

原创 使用var、let、const声明变量

一、使用var声明变量1、使用方法通过var关键字可以一次声明一个变量或者多个变量,同时可以为声明的变量赋初始值。但是变量的声明和初始值并不是在同一时间执行的,在执行初始值之前这些声明的变量的值为undefined。'use strict';var x = 12, y = x;2、声明变量与非声明变量区别变量声明定义的时候无论出现在代码的什么位置,都会在执行代码之前,将声明的变量添加到当前

2017-04-05 21:56:44 1941

空空如也

空空如也

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

TA关注的人

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