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

 分类:点滴Javascript

Javascript中的+0和-0

Javascript中有+0和-0,这篇文章我们来探讨+0和-0一些相关运算及实践。 一、符号零 我们知道在javascript中,所有的数值都是浮点数,遵从IEEE754双精度浮点数标准,在js中我们通常写0,这意味着+0,但是它也意味着是-0,看下面实例: function c(expressi...

煦涵 3年前 (2014-12-20) 2607℃ 0评论 0 喜欢

Javascript中使用Object.is()判断严格相等

在Javascript中判断相等是很常见的,常用的判断有“==”,“===”,“!=”,“!==”,今天这篇文章我们来学习ES6中的一个方法Object.is(),关于此方法的详细介绍可以戳这里。 Object.is()方法用来判断两个值是否有相同的值,这个相同的值的判定和“==”,“===”的判断...

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

Javascript中递归造成的堆栈溢出及解决方案

关于堆栈的溢出问题,在Javascript日常开发中很常见,Google了下,相关问题还是比较多的。本文旨在描述如何解决此类问题。 首先看一个实例(当然你可以使用更容易的方式实现,这里我们仅探讨递归): function isEven (num) { if (num === 0) { ...

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

浅谈querySelectorAll()

一、基本介绍 querySelectorAll和querySelector方法是 W3C Selectors API规范中定义的。 引用W3C中Interface Definitions: partial interface Document { Element? querySelector...

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

Javascript 属性的可枚举性和所有权

日常开发中经常会遇到需要把json对象的key转换为数组的需求,今天来看看几种实现方式以及它们之间的区别。 一、基本对比 Method Description Detail Object.keys 返回一个由给定对象的所有可枚举自身属性的属性名组成的数组 详细 Object.getOwn...

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

Javascript中模拟块级作用域

Javascript不像面向对象的编程语言一样,存在块级作用域,但是我们可以模拟。本文主要讲述如何在javascript中模拟块级作用域。先来看一个例子: var avatar = "Ang"; var element = "Air"; var elements = [ "...

煦涵 3年前 (2014-11-21) 2519℃ 1评论 0 喜欢

Javascript Array.prototype.indexOf()

对应indexOf这个方法,在日常开发中比较常见的应该是String.prototype.indexOf()方法,Array.prototype.indexOf()方法和其有很大的相似性,本文不想去描述其的基本用法,而是去探究在使用中需要考虑的一些问题。 一、性能 在数组元素少的情况下,我们虽然只是...

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

使用Object.create()实现继承

一、常见继承方式 我们日常开发中常见的继承方式主要有: 1、默认模式: Child.prototype = new Parent(); 2、借用构造函数: function Child(a, b, c, d) { Parent.apply(this, arguments); } 3、借用和设置...

煦涵 3年前 (2014-11-03) 3342℃ 1评论 0 喜欢

专题:点滴Javascript

JS#38: Javascript中递归造成的堆栈溢出及解决方案 JS#37: 使用console.time测试Javascript性能 JS#36: Javascript中判断两个日期相等 JS#35: Javascript中检测数组和对象 JS#34: Javascript中计算Object的长...

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

谈谈Javascript中的throttle and debounce

一、应用场景 在日常开发中,我们会经常遇到以下连续事件、频率控制及其造成的性能优化等问题: 1、鼠标事件:mousemove(拖曳)/mouseover(划过)/mouseWheel(滚屏) 2、键盘事件:keypress(基于ajax的用户名唯一性校验)/keyup(文本输入检验、自动完成)/ke...

煦涵 3年前 (2014-10-31) 2804℃ 0评论 2 喜欢

String调用Array相关方法——有点古怪

这个系列的前面几篇文章中有谈到在一个Object上使用apply、call等方法操作另一个Object的方法,今天我们来学习怎么样在String上调用Array相关方法。 在许多方面,字符串表现的好像字符数组,许多Javascript array相关方法也可以使用在String类型上,但是并不是所有...

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

Javascript Object.defineProperty()

Javascript作为一种语言,有个美誉,开发者可以重新定义任何事情。虽然这在过去的一些javascript可以,但是ECMAScript5中已经开始得到改变,例如,我们可以使用Object.defineProperty创建一个不能被修改的对象的属性。本文中我们将讲述Object.definePr...

煦涵 3年前 (2014-10-27) 6246℃ 4评论 6 喜欢

判断一个字符串是否包含一个子串的方法

在我们前端日常开发中,经常会遇到判断一个字符串中是否包含某个子串,在此篇文章,我们将去探究一些解决此种需求的方法以及正确的使用它们。理想情况下,我们要找的是一个能匹配我们的目的(if x contains y)的方法,并返回true或false。 一、String.prototype.indexOf...

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