JavaScript
文章平均质量分 63
东方觅路
这个作者很懒,什么都没留下…
展开
-
js基本语法中容易忽视的几个地方
1. JavaScript语言的每一个值,都属于某一种数据类型。JavaScript的数据类型,共有六个类别和两个特殊值。六个类别的数据类型又可以分成两组:原始类型(primitive type)和合成类型(complex type)。RegExp和Date都不是数据类型,只是构造函数而已(Node, Element 以及 HTMLElement 都不是数据类型,就像Array, Date原创 2015-01-06 17:15:12 · 577 阅读 · 0 评论 -
js深入浅出学习笔记(一)
js深入浅出一. new Foo()创建的对象: 1.该对象的原型会指向Foo 的构造器的prototype属性; 好处是 如果访问该对象的属性时,如果该对象不存在,会继续根据原型链查找Foo的prototype属性上的值;2. 用 in 来判断该属性是否属于该对象时,是true,意思是该属性是该对象的原型链上的;3. 给该对象的属性赋值时,会先查找原型链上是否存在该属性则修改,如原创 2015-04-13 09:38:56 · 764 阅读 · 0 评论 -
es6 新增的map和foreach
ES5中新增的Array方法详细说明引用地址:http://www.zhangxinxu.com/wordpress/?p=3220一、前言-索引ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,比如数组这块,我们可能就不需要去有板有眼地for循环了。ES5中新增了写数组方法,如下:forEach (js v1.6)map (js v1.6)fil转载 2015-01-15 14:42:04 · 57551 阅读 · 2 评论 -
JSON.parse()和JSON.stringify()
parse用于从一个字符串中解析出json对象,如var str = '{"name":"huangxiaojian","age":"23"}'结果:JSON.parse(str)Objectage: "23"name: "huangxiaojian"__proto__: Object注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛翻译 2015-01-15 10:53:42 · 526 阅读 · 0 评论 -
setTimeout(0) 的作用
大家都知道 JavaScript 中的 setTimeout() 可用来延迟执行一段代码,如:setTimeout( function() { alert("Hello World");}, 1000) //延时1秒今天在网上看到了 setTimeout(fn, 0) 的用法,感到有些疑惑,不明白它和直接执行 fn() 有什么区别,遂去搜集了一下相关的资料,顺便分享分享。先看一段转载 2015-01-15 10:50:29 · 854 阅读 · 0 评论 -
Promise对象和Deferred对象
一、从Ajax请求说起Promise和Deferred对象为我们提供了一种很优雅的异步处理方案,Promise最开始出现于Dojo框架中,09年Kris Zyp有感于dojo.Deferred提出了CommonJS之Promise/A规范,jQuery从1.5版本开始实现了这一重量级方案,不过没有严格按照规范进行实现,有一些API上的差异。说到这里,先来看下这两个对象能够做些什么吧!从一个转载 2015-01-10 10:04:51 · 708 阅读 · 0 评论 -
Javascript通过bind()掌控this
今天看到公司大神的一段代码:?1234567891011121314 function ReplaceProcessor() { this._dom = { btnReplace : $('#ro_btnReplace'), btnComplete: $('#r转载 2015-01-09 14:08:14 · 538 阅读 · 0 评论 -
Array.prototype.slice.call(arguments)
Array.prototype.slice.call(arguments)这篇文章转载的时候,对其中一些部分还有些困惑,而且作者大胆猜测的部分让人感觉不够信任。下边这篇文章很好的解释了call方法的原理:我们知道,Array.prototype.slice.call(arguments)能将具有length属性的对象转成数组,除了IE下的节点集合(因为ie下的dom对象是以co转载 2015-01-06 17:33:35 · 683 阅读 · 0 评论 -
JS中的phototype,以及call()原理
JS中的phototype是JS中比较难理解的一个部分 本文基于下面几个知识点: 1 原型法设计模式在.Net中可以使用clone()来实现原型法原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展。我们称B的原型为A。 2 javascript的方法可以分为三类:a 类方法b 对象方法c 原型方法例子:转载 2015-01-06 17:38:26 · 1488 阅读 · 0 评论 -
JavaScript变量提升(Hoisting)
Scoping & Hoistingvar a = 1;function foo() { if (!a) { var a = 2; } alert(a);};foo();上面这段代码在运行时会产生什么结果?尽管对于有经验的程序员来说这只是小菜一碟,不过我还是顺着初学者常见的思路做一番描述:创建了全局变量 a,定义其值为 1创建转载 2015-01-06 17:27:13 · 1156 阅读 · 0 评论 -
理解 Array.prototype.slice.apply
1. 首先,我们都理解在js中改变this引用有三种方法,call(), apply(), bind();2. bind方法是改变函数内this引用,简单不再描述;3. 至于 call() 和 apply() 两个方法,区别在于,前者是不定长的入参,后者是一个数组;下边重点说apply方法使用;原理: 我们知道js中存在一种类数组对象,比如 {0:1,length:1}原创 2015-06-04 09:59:46 · 3796 阅读 · 0 评论