ruby语言的根本就是 Object,Module, Class这三个对象。而且Module,Class本身就是对象。
在任何的Object中,方法和属性是分别存储在不同的hash表里的。
而对于javascript 其根本就是一个hashtable和function。
除了一些基本类型以外(bollean, number, string),其他的东西都是Object, Object就是一个hashtable。
所以, a = {}, 和a = new Object() 是一样的。
Object中的hashtable存放变量和方法。 也就是说, 变量和方法都是存储在Object的同一个hashtable中的。
为了让function 也可以存储到Object hash中,function实际上也是一个Object。
所以如下代码是一样的。
1.
Function father(){}
father.name = "abc"
father.speak = function (){}
2.
father = new Object()
father.name = "abc"
father.speak = function (){}
为了使Object通过new 的方式生成一个新的Object,new 关键字加function 就使得function 变成了一个构造函数。返回的是一个新的Object,如下。
function Father(name, speak) {
this.name = name;
this.speak = speak;
}
fatherObj = new Father("john", function(words){
alert(words);
})
fatherObj.speak("hello!");
另外,每一个Object中都存在一个叫__proto__的link,指向object的父亲的prototype。
而prototype可以是object,也可以是function。这样就构成了prototype的chain。
function Father(){
}
Father.prototype.fatherSay = function(){
alert("from father");
}
Father.spit = function(){alert("spit")}
function Mother(){
}
Mother.prototype = Father
son = new Mother();
son.spit(); //right
son.fatherSay //not found
上面代码调用的方法查找过程:
1.查找son里有没有spit方法
2.查找son.protype里有没有spit方法
2.查找Mother.prototype里有没有spit
3.如果Mother.prototype中没有spit,接着要查找Mother.__proto__指向的Object.prototype.
分享到:
- 2008-10-07 19:13
- 浏览 854
- 评论(0)
- 论坛回复 / 浏览 (0 / 1212)
- 查看更多
相关推荐
《JavaScript语言精粹》作为一本深入浅出讲解JavaScript编程语言的经典之作,对于想要提升自己JavaScript技能的开发者来说,无疑是一份宝贵的资源。本书由Douglas Crockford所著,他不仅是JSON格式的创始人,也是...
《JavaScript语言精粹》是JavaScript开发者必读的经典之作,它深入浅出地讲解了JavaScript语言的核心概念和实用技巧。这本书不仅适合初学者作为入门指南,也适合经验丰富的开发者用来巩固和提升自己的技能。 首先,...
在"JavaScript语言与Ajax应用(第二版)"这本书中,作者董宁深入探讨了这两者的核心概念和技术应用。 1. **JavaScript基础**:JavaScript语言的基础包括变量、数据类型、运算符、流程控制(条件语句、循环语句)、...
《JavaScript语言精髓与编程实践》精选版 作者 周爱民 《JavaScript语言精髓与编程实践》这本书,最初的名字是叫《动态函数式语言精髓与编程实践》,这是作者写本书的原意。确切地说,作者并非是想讨论JavaScript...
《JAVASCRIPT语言精髓与编程实践》是周爱民撰写的一本深入解析JavaScript编程的著作,这本书旨在帮助读者理解JavaScript的核心概念,并将其应用于实际的编程实践中。JavaScript,作为全球最广泛使用的脚本语言,是...
本文将深入探讨标题和描述中提及的两本书籍《JavaScript语言精粹》和《高性能JavaScript》所涵盖的知识点。 首先,我们来关注《JavaScript语言精粹》。这本书主要侧重于JavaScript的核心概念和最佳实践,旨在帮助...
"JavaScript语言精粹.修订版",即《Javascript: The Good Parts》,是由知名的计算机科学家Douglas Crockford所著,这本书深入探讨了JavaScript的核心概念和最佳实践,为开发者提供了宝贵的洞察力。 书中的内容主要...
《JavaScript语言精粹》这本书深入浅出地探讨了这一语言的核心概念和技术,旨在帮助开发者更好地理解和掌握JavaScript的精髓。 首先,JavaScript的核心特性包括弱类型、动态类型、基于原型的对象模型以及函数作为...
本篇文章将深入探讨JavaScript语言的核心概念、语法以及JScript教程,同时还会提及fileSystemObject对象的相关知识。 首先,JavaScript语法是理解编程的基础。它采用C语言风格,包含变量声明、数据类型(如字符串、...
《JavaScript语言精粹》是一本深入探讨此语言核心概念和技术的书籍,分为翻译版和英文原版,为开发者提供了全面而深入的学习资源。 翻译版是以.pdf格式呈现,包含了详细的目录,方便读者快速定位和查阅所需内容。这...
《JavaScript语言精粹》是一本深受开发者欢迎的权威书籍,旨在深入探讨JavaScript这门重要的编程语言,帮助初学者和有经验的程序员掌握其核心概念和最佳实践。这本书以中文高清PDF的形式提供,使得读者可以方便地...
《JavaScript语言精粹》这本书是深入理解这一语言的宝贵资源,它涵盖了JavaScript的核心概念和技术,旨在帮助读者掌握这门语言的精髓。 在描述中提到的"JavaScript语言精粹 包含pdf 与 epub"表明,这本书提供了两种...
根据提供的文件信息,我们可以推断出这是一本关于JavaScript编程语言的专业书籍——《JavaScript语言精粹》,该书提供了PDF高清扫描版本。接下来,我们将从以下几个方面深入探讨与这本书相关的知识点: ### 一、...
JavaScript语言精粹_修订版.pdf
《JavaScript 语言精髓与编程实践》是一本深入探讨JavaScript编程语言本质和实践应用的书籍,由周爱民著。该书旨在帮助读者理解和掌握JavaScript的核心概念,提升编程技能,适用于初学者和有经验的开发者。书中涵盖...
这本书《JavaScript语言精粹》无疑是深入理解和掌握这门语言的重要参考资料。它旨在帮助开发者掌握JavaScript的核心概念,提高编程技能,并理解如何写出高效、可维护的代码。 《JavaScript语言精粹》可能会涵盖以下...
《JavaScript语言精粹》是一本深受开发者喜爱的经典书籍,它深入浅出地讲解了JavaScript的核心概念和技术,帮助读者掌握这门语言的精髓。下面,我们将详细探讨这本书中涉及的一些重要知识点,并结合源代码"example_...