Benjamin - 专注前端开发和用户体验

 分类:SERIES

系列文章

使用Dispatch tables代替Javascript条件语句

在我们日常开发中,经常会遇到很多种的条件语句判断,大多会使用if/else语句或者switch/case语句,如果这个判断条件非常多的,将会产生以下问题: 1.维护起来比较困难; 2.检索的性能也会下降; 3.扩展性较差; 基于以上三点,本篇文件将介绍使用dispatch table来避免在Java...

Benjamin 3年前 (2014-09-10) 2586℃ 1评论 0 喜欢

Javascript this keyword

一、this指向构造函数实例化对象 在JS#6中,我们提到了使用new和不使用new调用构造函数的区别,如下例: function Benjamin(username, sex) { this.username = username; this.sex = sex; } ...

Benjamin 3年前 (2014-09-10) 1928℃ 1评论 0 喜欢

Javascript 构造函数

Javascript构造函数是非常强大的,它可能也是Javascript能被充分利用的特点之一。但是如果你想真正的了解Javascript,你还是应该明白构造函数是如何工作的。本文,我们将从三个方面来讲述构造函数。 一、什么是构造函数 在一些面向对象的语言,如Java、C++、PHP中,构造函数是很...

Benjamin 3年前 (2014-09-06) 1543℃ 2评论 2 喜欢

What is an Array?

如果你是一个有经验的开发者,你可能会认为这个问题比较简单,但是有的时候,我们会感觉这个问题比较有趣。 首先我们来看看数组的定义:“An array is just a list of values which can be accessed by using an integer as the &#...

Benjamin 3年前 (2014-09-01) 3141℃ 1评论 1 喜欢

Javascript 计算Object的长度

在我们日常开发中,对象的使用频率很高,我们计算数组的长度是非常方便的,但是如何计算对象的长度呢? 假如我们有一个图书馆的项目,项目中有一组图书和作者,像下面这样: var bookAuthors = { "Farmer Giles of Ham": "J.R.R. Tolkien", ...

Benjamin 3年前 (2014-08-26) 21088℃ 2评论 27 喜欢

Javascript in vs hasOwnProperty

如果你是一个jser新手,是否对in操作和hasOwnProperty()之间的区别有一个清醒的认识,下面我们就来讲述其中的区别: in运算符用来判断一个指定的属性是否存在于一个对象(或者数组)中,如果存在,返回true。我们来看一组实例: // 数组 var arr = ["Benja...

Benjamin 3年前 (2014-08-25) 2286℃ 1评论 0 喜欢

Javascript Boolean对象与布尔值之间的差异

我们都知道javascript中一些基本类型(boolean,string,number)都有自己的构造函数,我们称之为基本包装类型,但是基本包装类型和基本类型不是一回事。 以boolean类型为例,在大多数代码中,我们使用boolean值像这样: var primitiveTrue = true;...

Benjamin 3年前 (2014-08-25) 2944℃ 2评论 3 喜欢

Javascript 数组排序

如果你接触javascript有一段时间了,你肯定知道数组排序函数sort,sort是array原型中的一个方法,即array.prototype.sort(),sort(compareFunction),其中compareFunction是一个比较函数,下面我们看看来自Mozilla MDN 的一...

Benjamin 3年前 (2014-08-24) 2503℃ 0评论 1 喜欢

Javascript arguments对象

在JS#1中我们讨论了javascript中的默认参数,这篇文章,我们来讨论下javascript的arguments参数对象。 如下例的一个函数,我们如何根据传入参数的不同来做不同的处理呢? function addAll () { // What do we do here? } ...

Benjamin 3年前 (2014-08-24) 2295℃ 1评论 2 喜欢