当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript中Object和Function的关系小结

Javascript
拖动一个HTML元素
JavaScript使用prototype定义对象类型(转)[
枚举JavaScript对象的函数
在Javascript中定义对象类别
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
用JavaScript限制textarea输入长度 (For: IE、Firefox ...)[
检测邮箱地址是否合法 Check Mail Address (For: IE5+、FF1.06、Opera 7+ ...)[
用于自动添加Digg This!按钮的JavaScript
Javascript实例教程(19) 使用HoTMetal(1)
Javascript实例教程(19) 使用HoTMetal(2)
Javascript实例教程(19) 使用HoTMetal(3)
Javascript实例教程(19) 使用HoTMetal(4)
Javascript实例教程(19) 使用HoTMetal(5)
Javascript实例教程(19) 使用HoTMetal(6)
Javascript实例教程(19) 使用HoTMetal(7)
实现复选框全选/全不选切换
js不是基础的基础
IE的不合理设计和Bugs
js倒计时代码
js静态作用域的功能。

Javascript 中的 JavaScript中Object和Function的关系小结


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-10   浏览: 234 ::
收藏到网摘: n/a

JavaScript 中 Object 和 Function 的关系是微妙的,他们互为对方的一个实例。 Function instanceof Object 和 Object instanceof Function 都是 true
1。我们可以认为 Object 是一个特殊的“类”,而这里的“类”即:Function
于是便可以理解为: Object = Function () {} 或 Object = new Function(); 即:Object 是 Function 的一个实例,所以,Object 原型链中便包含 Function.prototype,得出: Function.prototype.isPrototypeOf(Object) 为 true
2。同时,js中,所有对象(不包括js语言外部对象)都可视为是 Object 的一个实例, Function 不例外,Function.prototype 亦不例外,于是有 Function = new Object(); Function.prototype = new Object(), 于是 Object.prototype.isPrototypeOf(Function) 和 Object.prototype.isPrototypeOf(Function.prototype) 都为 true 了
3。补充:Function 本身也是一个“类”,然而,所有“类”都是Funciton的实例,于是 Function instanceof Function; 为true。同时,所有对象都是 Object 类的实例,Object 本身也是一个对象,所有又有 Object instanceof Object 也为 true。另外,还可以认为 Funciton 类型是 Object 类型的一个“派生类”,class Function 继承了class Object ,是 class Object 的一个“子类”。