Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Object.prototype

La propietat Object.prototype representa el prototipus per a Object.

Property attributes of Object.prototype
Writable no
Enumerable no
Configurable no

Descripció

A JavaScript, tots els objectes hereten de Object; tots els objectes hereten els mètodes i propietats de Object.prototype, tot i que es poden sobreescriure (excepte un Object amb prototipus null, és a dir, Object.create(null)). Per exemple, altres prototipus de constructors sobreescriuen la propietat constructor i ofereixen els seus propis mètodes toString(). Els canvis al prototipus Object es propaguen a tots els objectes a no ser que les propietats i mètodes que reben aquests canvis hagin sigut sobreescrites més avall a la cadena de prototipus.

Propietats

Object.prototype.constructor
Especifica la funció que ha creat el prototipus de l'objecte.
Object.prototype.__proto__
Referencia l'objecte utilitzat com a prototipus quan aquest objecte va ser instanciat.
Object.prototype.__noSuchMethod__
Permet definir una funció que serà executada quan es cridi com mètode un membre no definit.
Object.prototype.__count__
Retornava el nombre de propietats enumerables que hi hagués a un objecte definit per l'usuari. S'ha eliminat.
Object.prototype.__parent__
Referenciava el context d'un objecte. S'ha eliminat.

Mètodes

Object.prototype.__defineGetter__()
Associa una funció a una propietat que, quan s'accedeix, executa aquesta funció i retorna el seu valor.
Object.prototype.__defineSetter__()
Associa una funció a una propietat que, quan s'assigna, executa aquesta funció que modifica la propietat.
Object.prototype.__lookupGetter__()
Retorna una funció associada a la propietat especificada pel mètode __defineGetter__.
Object.prototype.__lookupSetter__()
Retorna a funció associada a la propietat especificada pel mètode __defineSetter__.
Object.prototype.hasOwnProperty()
Retorna un booleà que indica si l'objecte conté la propietat especificada com una propietat pròpia d'ell mateix en comptes d'heretar-la a través de la cadena de prototipus.
Object.prototype.isPrototypeOf()
Retorna un booleà que indica si l'objecte espeicfifcat pertany a la cadena de prototipus de l'objecte sobre el que es crida aquest mètode.
Object.prototype.propertyIsEnumerable()
Retorna un booleà que indica si està activat l'atribut intern DontEnum de l'ECMAScript.
Object.prototype.toSource()
Retorna un string que conté cofi font que defineix un literal d'objecte que representa l'objecte sobre el que s'executa aquest mètode; aquest valor pot utilitzar-se per a crear un nou objecte.
Object.prototype.toLocaleString()
Crida el mètode toString().
Object.prototype.toString()
Retorna una representació d'aquest objecte en forma de string.
Object.prototype.unwatch()
Esborra un watchpoint d'una propietat de l'objecte.
Object.prototype.valueOf()
Retorna el valor primitiu de l'objecte especificat.
Object.prototype.watch()
Afegeix un watchpoint a una propietat de l'objecte.
Object.prototype.eval()
Evaluava un string de codi font JavaScript dins el context de l'objecte especificat. S'ha eliminat.

Exemples

Degut a que JavaScript no res semblant a subclasses d'objectes, la propietat prototype és una bona forma d'utilitzar algunes funcions que fan d'objectes com a "classe base". Per exemple:

var Person = function() {
  this.canTalk = true;
};

Person.prototype.greet = function() {
  if (this.canTalk) {
    console.log('Hi, I am ' + this.name);
  }
};

var Employee = function(name, title) {
  Person.call(this);
  this.name = name;
  this.title = title;
};

Employee.prototype = Object.create(Person.prototype);
Employee.prototype.constructor = Employee;

Employee.prototype.greet = function() {
  if (this.canTalk) {
    console.log('Hi, I am ' + this.name + ', the ' + this.title);
  }
};

var Customer = function(name) {
  Person.call(this);
  this.name = name;
};

Customer.prototype = Object.create(Person.prototype);
Customer.prototype.constructor = Customer;

var Mime = function(name) {
  Person.call(this);
  this.name = name;
  this.canTalk = false;
};

Mime.prototype = Object.create(Person.prototype);
Mime.prototype.constructor = Mime;

var bob = new Employee('Bob', 'Builder');
var joe = new Customer('Joe');
var rg = new Employee('Red Green', 'Handyman');
var mike = new Customer('Mike');
var mime = new Mime('Mime');

bob.greet();
// Hi, I am Bob, the Builder

joe.greet();
// Hi, I am Joe

rg.greet();
// Hi, I am Red Green, the Handyman

mike.greet();
// Hi, I am Mike

mime.greet();

Especificacions

Especificació Estat Comentaris
ECMAScript 1st Edition (ECMA-262) Standard Definició inicial. Implementat a JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
The definition of 'Object.prototype' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Object.prototype' in that specification.
Standard  

Compatibilitat amb navegadors

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suport bàsic (Yes) (Yes) (Yes) (Yes) (Yes)
Característica Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suport bàsic (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

 Vegeu també

Document Tags and Contributors

 Contributors to this page: enTropy
 Last updated by: enTropy,