1.先看一个控制台的输出: instanceof 运算符字面意思是 左边是右边的一个实例吗? 但是这两条输出让人很困惑.Function 是 Object 的实例.Object 也是 Function 的实例. 学过静态语言的人看了一下就蒙了.A是B类 的实例,B又是A的实例.是不是很扯. 实际上instanceof 运算符的意识是:左边操作数的__proto__原型链上是否包括右边操作数的prototype. 也即如果有表达式:L instance R; 则运算结果是: L.__proto__…
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script language="javascript&…
前言: JavaScript的面向对象是基于原形的,所有对象都有一条属于自己的原型链.Object与Function可能很多看Object instanceof Function , Function instanceof Object都为true而迷惑,所以首先看下对象的实例. 一.JS中所谓的实例 1. 如var a = new A();这样子通常的认为 “a为A函数的实例对象”. 2. new操作的过程是什么? 1.new创建一个空对象{}称为小C 2.然后将A.prototype放置到小…
1. 先来一段代码: console.log(Function); // function Function() { [native code] } console.log(Object); // function Object() { [native code] } console.log(Function.prototype); // function () {} console.log(Object.prototype); // Object {} console.log(Function…
写的很好,理解了很多,特此转发记录 转自:http://blog.csdn.net/tom_221x/archive/2010/02/22/5316675.aspx 在JavaScript中所有的对象都继承自Object原型,而Function又充当了对象的构造器,那么Funtion和Object到底有着什麽样的关系呢 ? 首先,一切都是对象. 由此可见,Object继承自己,Funtion继承自己,Object和Function互相是继承对方,也就是说Object和Function都既是函数也…
http://anykoro.sinaapp.com/2012/01/31/javascript%E4%B8%ADfunctionobjectprototypes__proto__%E7%AD%89%E6%A6%82%E5%BF%B5%E8%AF%A6%E8%A7%A3/ http://www.cnblogs.com/youxin/p/3219175.html Javascript中Function,Object,Prototypes,__proto__等概念是在JavaScript中很常用,但…
JavaScript里任何东西都是对象,任何一个对象内部都有另一个对象叫__proto__,即原型,它可以包含任何东西让对象继承.当然__proto__本身也是一个对象,它自己也有自己的__proto__,这样一级一级向上,就构成了一个__proto__链,即原型链.当然原型链不会无限向上,它有个终点,可以称为原型链的顶端,或者root,它是一个特殊的对象,它的__proto__为null. obj.__proto__.__proto__......__proto__ === null; 但是对…
<JavaScript高级程序设计>中介绍的几种JavaScript的引用类型,本文只记了Object跟Function类型 Object类型 创建对象 var person = new Object(); var person = {}; //二者效果是一样的,但使用对象字面量表示法定义对象时不会调用Object的构造函数 访问对象属性 点表示法 方括号表示法 person.name = ''; person['name'] = ''; // 方括号表示法能用变量来访问属性 var prop…
不同点 Key filed 在 Object 中, key 必须是简单数据类型(整数,字符串或者是 symbol),而在 Map 中则可以是 JavaScript 支持的所有数据类型,也就是说可以用一个 Object 来当做一个Map元素的 key. 元素顺序 Map 元素的顺序遵循插入的顺序,而 Object 的则没有这一特性. 继承 Map 继承自 Object 对象. 新建实例 Object 支持以下几种方法来创建新的实例: var obj = {...}; var obj = new O…
函数对象和其他内部对象的关系 除了函数对象,还有很多内部对象,比如:Object.Array.Date.RegExp.Math.Error.这些名称实际上表示一个 类型,可以通过new操作符返回一个对象.然而函数对象和其他对象不同,当用typeof得到一个函数对象的类型时,它仍然会返回字符串 “function”,而typeof一个数组对象或其他的对象时,它会返回字符串“object”.下面的代码示例了typeof不同类型的情况: 以下是引用片段: alert(typeof(Function))…