大家好,今天小编关注到一个比较有意思的话题,就是关于javascript原型人物的问题,于是小编就整理了3个相关介绍Javascript原型人物的解答,让我们一起看看吧。
JavaScript这门语言到底是哪位程序员写出来的?
布兰登·艾奇(Brendan Eich),javascript的发明人,在Mozilla公司担任首席技术长。出任Mozilla的CEO十天就被迫辞职。
布兰登·艾奇毕业于伊利诺伊大学香槟分校。1995年任职于网景期间,为网景浏览器开发出JavaScript,之后成为浏览器上应用最广泛的脚本语言之一。
由于时间太短了,语言的一些细节存在很多不严谨的地方,导致后来很长一段时间,J***ascript写出来的程序简直无法入眼。
总的来说,他的设计思路是这样的:(1)借鉴C语言的基本语法;(2)借鉴J***a语言的数据类型和内存管理;(3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;(4)借鉴Self语言,使用基于原型(prototype)的继承机制。所以,J***ascript语言实际上是一种混合语言,好听点是集两者大成之物,难听点,就是临时拼凑的语言。如果不是公司的决策,Brendan Eich绝不可能把J***a作为J***ascript设计的原型。
尴尬的是:作为J***aScript的开发者,他一点也不喜欢自己的这个作品。
大家有不同意见,可留言讨论。
如何理解J***aScript的原型和原型链?
原型是一个对象,是函数的一个属性prototype;通过该函数实例化出来的对象都可以继承得到原型上的所有属性和方法。原型对象默认有一个属性constructor ,值为对应的构造函数;另外,有一个属性__proto__,值为Object.prototype。
原型链就是对象通过__proto__向当前实例所属类的原型上查找属性或方法的机制,如果找到Object的原型上还是没有找到想要的属性或者是方法则查找结束,最终会返回undefined。
在J***aScript中一切皆对象
但对象分为普通对象和函数对象
用function关键字创建的是函数对象
其中
每个函数对象都有一个prototype属性,这个属性指向函数的原型对象
而原型对象person.prototype是构造函数的一个实例
原型对象主要是用来继承
而原型链是实现继承的主要方法
利用原型让一个引用类型继承另一个引用类型的属性和方法
J***aScript和j***a有什么联系吗?
1、基于对象和面向对象:J***a是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象;J***aScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象(Object-Based)和事件驱动(Event-Driven)的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用;
2、解释和编译:J***a 的源代码在执行之前,必须经过编译;J***aScript 是一种解释性编程语言,其源代码不需经过编译,由浏览器解释执行;
3、强类型变量和类型弱变量:J***a***用强类型变量检查,即所有变量在编译之前必须作声明;J***aScript中变量声明,***用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型;
4、代码格式不一样。
J***ascript和在j***a除了名字有点像以外,其他是没有任何关系的;
什么是j***ascript
- j***ascript:是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;
- J***aScript 基于原型编程、多范式的[_a***_]脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
j***ascript名字的由来:
- j***aScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像J***a,因此取名为J***aScript。但实际上它的语法风格与Self及Scheme较为接近。
什么是j***a
- j***a:J***a是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此J***a语言具有功能强大和简单易用两个特征。
- J***a具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。
- J***a可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等
首先我们来罗列j***a与j***ascript的区别:
1、J***aScript是一种象文件一样的描述语言,透过浏览器就可以直接执行;而J***a像正统的编程语言(如C/C++)一样,必须先进行编绎和链接等动作才可执行。
2、J***aScript必须编写在HTML文件中,直接查看网页的原始码,就可以看到J***aScript程式,所以没有保护,任何人都可以透过HTML文件复制程式;而J***a应用在网页的程式称为J***a applet(Applet是[小程序]的意思),是和HTML文件分开的。
3、J***aScript的结构较为自由松散,譬如,程序中使用变量前并不需要明确的定义,而J***a和正统的编程语言一样,结构较为严谨。
4、J***aScript不具有读写档案及网络控制等功能,J***a则有提供这些功能,但是J***aScript在网页内容的控制和互动性方面,可算是最方便快捷的。
其次再讲一下j***ascript的语法与j***a的主要差别体现在下面几点:
1:通过var关键字定义变量。
2:在js中非0即为true,非null为true。
3:js特有语句 with(){} 和for(变量in对象)
4:通过function关键字定义函数。
到此,以上就是小编对于j***ascript原型人物的问题就介绍到这了,希望介绍关于j***ascript原型人物的3点解答对大家有用。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.rongung.com/post/36604.html