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

 分类:系列文章

系列文章

ECMAScript 6 modules: the final syntax

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

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

使用Dispatch tables代替Javascript条件语句

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

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

Javascript this keyword

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

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

Javascript 构造函数

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

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

What is an Array?

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

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

Javascript 计算Object的长度

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

煦涵 3年前 (2014-08-26) 24923℃ 2评论 30 喜欢

Javascript in vs hasOwnProperty

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

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

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

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

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

Javascript 数组排序

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

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

Javascript arguments对象

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

煦涵 3年前 (2014-08-24) 2451℃ 1评论 2 喜欢

Javascript中的默认参数

一些语言——像Ruby,CoffeeScript及即将到来的javascript版本——在定义一个函数的时候,可以声明默认参数,像下面这样: function myFunc(param1, param2 = "second string") { console.log(param1, pa...

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

Javascript的toString方法

你有没有想过为什么,如果你试图用alert打印一个javascript对象时,你会得到[object Object]?那是由于Javascript内置的toString方法,让我们来看看它是如何工作的? 注意:在某些地方,例子中使用alert打印调试信息,而不是使用console.log,是为了绕过...

煦涵 3年前 (2014-08-11) 2578℃ 1评论 1 喜欢

Javascript void运算符

如果你做web开发有段时间了,你可能看到如下形式的链接: <a href="javascript:void 0;" onclick="doSomething()">Do something</a> 虽然这样的html看起来比较可拍,但是在它身上有一些有趣的事情。当一个用户点击...

煦涵 3年前 (2014-08-10) 2026℃ 1评论 1 喜欢

Javascript的原始包装对象

我们之前谈论过,在javascript中它们不是对象,大多数情况下,却表现的和对象一样。例如,考虑我们如何可以调用一个字符串的方法,即使它是一个原始的: //Outputs: BENJAMIN console.log("benjamin".toUpperCase());   这是如何工作...

煦涵 3年前 (2014-08-10) 1870℃ 3评论 0 喜欢