`
liano
  • 浏览: 25856 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

javascript 语言

阅读更多
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.

分享到:
评论

相关推荐

    JavaScript语言精粹完整版

    《JavaScript语言精粹》作为一本深入浅出讲解JavaScript编程语言的经典之作,对于想要提升自己JavaScript技能的开发者来说,无疑是一份宝贵的资源。本书由Douglas Crockford所著,他不仅是JSON格式的创始人,也是...

    javascript语言精粹 pdf

    《JavaScript语言精粹》是JavaScript开发者必读的经典之作,它深入浅出地讲解了JavaScript语言的核心概念和实用技巧。这本书不仅适合初学者作为入门指南,也适合经验丰富的开发者用来巩固和提升自己的技能。 首先,...

    JavaScript语言与Ajax应用第二版_JavaScript语言与Ajax应用_JavaScript应用_javascri

    在"JavaScript语言与Ajax应用(第二版)"这本书中,作者董宁深入探讨了这两者的核心概念和技术应用。 1. **JavaScript基础**:JavaScript语言的基础包括变量、数据类型、运算符、流程控制(条件语句、循环语句)、...

    《JavaScript语言精髓与编程实践》精选版

    《JavaScript语言精髓与编程实践》精选版 作者 周爱民 《JavaScript语言精髓与编程实践》这本书,最初的名字是叫《动态函数式语言精髓与编程实践》,这是作者写本书的原意。确切地说,作者并非是想讨论JavaScript...

    《JAVASCRIPT语言精髓与编程实践》.周爱民PDF

    《JAVASCRIPT语言精髓与编程实践》是周爱民撰写的一本深入解析JavaScript编程的著作,这本书旨在帮助读者理解JavaScript的核心概念,并将其应用于实际的编程实践中。JavaScript,作为全球最广泛使用的脚本语言,是...

    JavaScript语言精粹(高清电子版)和高性能JavaScript 双语版

    本文将深入探讨标题和描述中提及的两本书籍《JavaScript语言精粹》和《高性能JavaScript》所涵盖的知识点。 首先,我们来关注《JavaScript语言精粹》。这本书主要侧重于JavaScript的核心概念和最佳实践,旨在帮助...

    JavaScript语言精粹.修订版 Javascript:The Good Parts 中英 pdf

    "JavaScript语言精粹.修订版",即《Javascript: The Good Parts》,是由知名的计算机科学家Douglas Crockford所著,这本书深入探讨了JavaScript的核心概念和最佳实践,为开发者提供了宝贵的洞察力。 书中的内容主要...

    JavaScript 语言精粹

    《JavaScript语言精粹》这本书深入浅出地探讨了这一语言的核心概念和技术,旨在帮助开发者更好地理解和掌握JavaScript的精髓。 首先,JavaScript的核心特性包括弱类型、动态类型、基于原型的对象模型以及函数作为...

    Javascript语言参考大全

    本篇文章将深入探讨JavaScript语言的核心概念、语法以及JScript教程,同时还会提及fileSystemObject对象的相关知识。 首先,JavaScript语法是理解编程的基础。它采用C语言风格,包含变量声明、数据类型(如字符串、...

    JavaScript语言精粹(翻译版+英文版)

    《JavaScript语言精粹》是一本深入探讨此语言核心概念和技术的书籍,分为翻译版和英文原版,为开发者提供了全面而深入的学习资源。 翻译版是以.pdf格式呈现,包含了详细的目录,方便读者快速定位和查阅所需内容。这...

    JavaScript语言精粹 中文高清PDF

    《JavaScript语言精粹》是一本深受开发者欢迎的权威书籍,旨在深入探讨JavaScript这门重要的编程语言,帮助初学者和有经验的程序员掌握其核心概念和最佳实践。这本书以中文高清PDF的形式提供,使得读者可以方便地...

    《JavaScript语言精粹》.pdf

    《JavaScript语言精粹》这本书是深入理解这一语言的宝贵资源,它涵盖了JavaScript的核心概念和技术,旨在帮助读者掌握这门语言的精髓。 在描述中提到的"JavaScript语言精粹 包含pdf 与 epub"表明,这本书提供了两种...

    《JavaScript语言精粹》PDF高清扫描版

    根据提供的文件信息,我们可以推断出这是一本关于JavaScript编程语言的专业书籍——《JavaScript语言精粹》,该书提供了PDF高清扫描版本。接下来,我们将从以下几个方面深入探讨与这本书相关的知识点: ### 一、...

    JavaScript语言精粹_修订版.pdf

    JavaScript语言精粹_修订版.pdf

    JavaScript 语言精髓与编程实践

    《JavaScript 语言精髓与编程实践》是一本深入探讨JavaScript编程语言本质和实践应用的书籍,由周爱民著。该书旨在帮助读者理解和掌握JavaScript的核心概念,提升编程技能,适用于初学者和有经验的开发者。书中涵盖...

    JavaScript语言精粹.pdf.zip

    这本书《JavaScript语言精粹》无疑是深入理解和掌握这门语言的重要参考资料。它旨在帮助开发者掌握JavaScript的核心概念,提高编程技能,并理解如何写出高效、可维护的代码。 《JavaScript语言精粹》可能会涵盖以下...

    JavaScript语言精粹.源代码

    《JavaScript语言精粹》是一本深受开发者喜爱的经典书籍,它深入浅出地讲解了JavaScript的核心概念和技术,帮助读者掌握这门语言的精髓。下面,我们将详细探讨这本书中涉及的一些重要知识点,并结合源代码"example_...

Global site tag (gtag.js) - Google Analytics