手机版

深刻理解JavaScript系列(10) JavaScript核心(推广必读)

时间:2021-10-11 来源:互联网 编辑:宝哥软件园 浏览:

适合读者:有经验的开发人员和专业的前端人员。原作者: Dmitry A. Soshnikov发表于2010年9月:年2月原文:http://dmitrysoshnikov.com/ecmascript/javascript-the-core/参考文献1:http://ued.ctrip.com/blog/? P=2795参考文献2:http://www.cnblogs.com/ifishing/archive/2010/12/08/1900594.html主要综合了上述两位大师的中译本,并结合了两篇文章的精华部分。我们先来看看[Object]的概念,这也是ECMASript中最基本的概念。对象ECMAScript是一种高度抽象的面向对象语言,用于处理对象。当然也有基本类型,但必要时需要转换成对象对象。对象是属性的集合,只有一个原型对象。原型可以是对象,也可以是空值。对象是属性的集合。它们都有一个原型对象[原型对象]。该原型对象[原型对象]可以是对象或空值。复制代码让我们举一个基本对象的例子。首先,我们应该清楚对象的原型是内部[[prototype]]属性的引用。不过一般来说,我们会用_ _内部属性名_ _下划线代替双括号,比如__proto__(这是SpiderMonkey等一些脚本引擎对原型概念的具体实现,虽然不是标准的)。复制代码如下:varfoo={x:10,y :20 };上面的代码foo对象有两个显式属性[显式自身属性]和一个隐式__proto__属性[隐式__proto__属性],它们指向foo的原型。

1.为什么一个有原型的基本对象需要原型?让我们考虑原型链的概念来回答这个问题。原型链原型对象是普通对象,可能有自己的原型。如果原型对象的原型不为空,我们称之为原型链。原型链是用于实现继承和共享属性的有限对象链。原型链是由对象组成的有限对象链,继承和共享属性。想象一种情况,两个对象的大部分内容相同,但只有一小部分不同。显然,在一个好的设计模式中,我们将需要重用相同的部分,而不是在每个对象中重复定义相同的方法或属性。在一个[基于类]的系统中,这些重用的部分被称为类继承——相同的部分被放入A类,然后B类和C类从A类继承,它们可以声明自己独特的东西。ECMAScript没有类的概念。但是复用【复用】的思想并没有什么不同(在某些方面甚至比类更灵活),可以通过原型链来实现。这种继承被称为基于委托的继承,或者更通俗地说,原型继承。类似于类“a”、“b”和“c”,对象类“a”、“b”和“c”是在ECMAScript中创建的。因此,宾语“a”具有宾语“b”和“c”的共同部分。同时,对象“b”和“c”只包含它们自己的附加属性或方法。复制的代码如下:VAR A={x: 10,计算:函数(z){返回这个。xThis.y z } }var b={ y: 20,_ _ proto _ _ : a };var c={ y: 30,_ _ proto _ _ : a };//调用继承的方法b . calculate(30);//60c . calculate(40);//80这个看起来很简单吗?b和c。

版权声明:深刻理解JavaScript系列(10) JavaScript核心(推广必读)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。