摘要: 原型链每个对象都有一个包含了一个或者多个对象的原型链,该对象正是这个原型链的起始对象.原型链上的所有对象的所有属性都可以被该对象访问到.例如:> var proto = { foo: 1 };> var obj = { __proto__: proto, bar: 2 };> obj.foo1> obj.bar2我们用到了特殊属性__proto__[1]来创建原型链(该属性还没有被所有浏览器广泛支持).对象obj的原型链包含了三个对象:起始处是obj,紧跟着proto,最后是Object.prototype.Object.prototype是Object构造函数的原型对 阅读全文
posted @ 2012-12-03 14:32 三点包子 阅读(205) 评论(0) 推荐(0) 编辑
摘要: JavaScript:遍历原型链,调用栈,作用域链在JavaScript中,有三种常见的链式结构:原型链(Prototype Chain),调用栈(Call Stack),作用域链(Scope Chain).本文并不准备讲这些概念的基础知识,而是要给出如何遍历这三种链结构的方法,从而加深理解.遍历原型链在JavaScript中,任何对象都有自己的原型链.原型链是由一系列对象加上最后的null组成的.如果还没掌握相关基础知识,可以看看我在MDN上翻译的继承与原型链一文.遍历函数如下:function getPrototypeChain(obj) { var protoChain = [];... 阅读全文
posted @ 2012-12-03 14:07 三点包子 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 1、Js数据类型在Js中,有五种基本数据类型:Undefined、Null、Number、String和Boolean。还有一种复杂数据类型Object。Object本质上是由一组无序的名值对组成。Js中不支持自己所创建的任何类型机制,所有值最终都是以上六种类型之一。Undefined类型只有一个值undefined,Null类型只有一个值null,Boolean类型有两个值true和false。2、判断变量的数据类型可以通过typeof操作符在一定程度上检测变量数据类型。typeof是操作符范畴,而不是函数。typeof操作符返回的结果是一个变量数据类型相应的字符串表示形式,如:String 阅读全文
posted @ 2012-12-03 11:54 三点包子 阅读(171) 评论(0) 推荐(0) 编辑