FED实验室 - 专注WEB端开发和用户体验

 分类:系列文章

系列文章

重新定义“undefined”

如果你是Javascript开发者,你肯定知道Javascript中怪癖之一,可以为undefined关键字重新定义。虽然在某种情况下这是正确的,但是真实的情况确有些许复杂,本文的以下部分将详细描述undefined的相关问题: 我们看一个简单带你的例子: undefined = "Ben...

煦涵 3年前 (2014-09-23) 2219℃ 1评论 0 喜欢

Javascript中检测数组和对象

在日常开发中,经常会见到检测一个变量是数组(特殊的对象)还是普通的对象,以便我们执行不同的动作。看下面一个例子: function getListOfMarathonNames (marathons) { if (marathons instanceof Object) { ...

煦涵 3年前 (2014-09-23) 2404℃ 2评论 0 喜欢

Javascript中判断两个日期相等

在我们日常开发中,涉及到日期对象时,最常见的可能是判断一个日期是否和另一个日期相等,对应大多数程序员来说,可能会使用下面这种方式来做比较: /** * [isTeachersDay 是否是教师节] * @param {[type]} date [description] * @ret...

煦涵 3年前 (2014-09-22) 9307℃ 1评论 1 喜欢

Javascript 判断对象是否相等

在Javascript中相等运算包括"==","==="全等,两者不同之处,不必多数,本篇文章我们将来讲述如何判断两个对象是否相等? 你可能会认为,如果两个对象有相同的属性,以及它们的属性有相同的值,那么这两个对象就相等。那么下面我们通过一个实例来论证下: var obj1 = { nam...

煦涵 3年前 (2014-09-22) 14705℃ 4评论 10 喜欢

ECMAScript 6 modules: the final syntax

在2014年7月月底,TC39[1]还有另外一个会议,此次会议,ECMAScript6(ES6)模块语法的最后细节被敲定。本博客文章给出了完整的ES6模块系统的概述。 一、当前Javascript 模块系统 JavaScript没有内置的模块的支持,但社区创造了令人印象深刻的变通。两个最重要的(可惜...

煦涵 3年前 (2014-09-13) 2761℃ 0评论 1 喜欢

使用Dispatch tables代替Javascript条件语句

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

煦涵 3年前 (2014-09-10) 2988℃ 1评论 0 喜欢

Javascript this keyword

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

煦涵 3年前 (2014-09-10) 2158℃ 1评论 0 喜欢

Javascript 构造函数

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

煦涵 3年前 (2014-09-06) 1798℃ 2评论 2 喜欢

What is an Array?

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

煦涵 3年前 (2014-09-01) 3692℃ 1评论 1 喜欢

Javascript 计算Object的长度

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

煦涵 3年前 (2014-08-26) 27715℃ 3评论 31 喜欢

Javascript in vs hasOwnProperty

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

煦涵 3年前 (2014-08-25) 2596℃ 1评论 0 喜欢

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

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

煦涵 3年前 (2014-08-25) 3691℃ 2评论 4 喜欢