<h1>Pseudoclassico</h1>
<p>
JavaScript está em conflito sobre sua natureza prototípica. Seu mecanismo prototípico é obscurecido por algumas regras sintáticas complicadas que parecem vagamente clássicas.
Ao invés de objetos herdarem diretamente de outros objetos, um nível desnecessário de engano é inserido de modo que os objetos são produzidos por funções construtoras.
</p>
<p>
Quando um objeto de função é criado, o construtor <em>Function</em> que produz o objeto de função utiliza algum código como este:
</p>
<pre>
this.prototype = {
constructor: this
};
</pre>
<p>
Ao novo objeto de função é dada uma propriedade <em>prototype</em> cujo valor é um objeto contendo uma propriedade <em>Constructor</em> cujo valor é o novo objeto de função. O objeto de protótipo é o lugar onde traços herdados estão a ser depositados.
</p>
<p>
Cada função recebe um objeto de protótipo, porque a linguagem não fornece uma maneira de determinar quais funções destinam-se a ser usadas como construtores. A propriedade <em>constructor</em> não é útil. É o objecto protótipo que é importante.
</p>
<p>
Quando uma função é chamada com o padrão de chamada do construtor usando o operador <em>new</em>, este modifica o modo em que a função é executada. Se o operador <em>new</em> fosse um método, em vez de um operador, poderia ter sido implementado assim:
</p>
<pre>
Function.method('new', function ( ) {
// Create a new object that inherits from the
// constructor's prototype.
var that = Object.create(this.prototype);
// Invoke the constructor, binding –this- to
// the new object.
var other = this.apply(that, arguments);
// If its return value isn't an object,
// substitute the new object.
return (typeof other === 'object' && other) || that;
});
</pre>
<p>
Podemos definir um construtor e aumentar este protótipo:
</p>
<pre>
var Mammal = function (name) {
this.name = name;
};
Mammal.prototype.get_name = function ( ) {
...
CSS
body {
font-family: Verdana;
font-size: 0.9em;
}
Please Whitelist JSFiddle in your content blocker.
Help keep JSFiddle free for always by one of two ways:
Whitelist JSFiddle in your content blocker (two clicks)
Go PRO and get access to additional PRO features →
Join the 4+ million users, and keep the JSFiddle dream alive.
Ad-free
All ads in the editor and listing pages are turned completely off.
Use pre-released features
You get to try and use features (like the Palette Color Generator) months before everyone else.
Fiddle collections
Sort and categorize your Fiddles into multiple collections.
Private collections and fiddles
You can make as many Private Fiddles, and Private Collections as you wish!
Console
Debug your Fiddle with a minimal built-in JavaScript console.