Objetos en Javascript 2/2

(Anterior: Objetos Javascript 1/2: crear objetos))

Si necesitamos que un objeto Javascript definido por nosotros mismos tenga métodos, tenemos varias opciones:

A. Podemos definir una función independiente que utilizaremos como método de nuestro objeto:


function datosUsuario(){
    return this.login + ' ' + this.fecha_registro;
}

1. Caso de objeto literal:


var usu = {
        login: "jcc",
        fecha_registro: "20070818",
        datosUsuario: datosUsuario
}

2. Caso de objeto definido con plantilla:


function Usuario(login, fecha_registro) {
    this.login= login;
    this.fecha_registro = fecha_registro;
    this.datosUsuario = datosUsuario;
}

B. Podemos definir una función propia que utilizaremos como método de nuestro objeto:
1. Caso de objeto literal:


var usu = {
    login: "jcc",
    fecha_registro : "20070818",
    datosUsuario   : function(){
        return this.login + ' '+ this.fecha_registro;
    }
}

2. Caso de objeto definido con plantilla:


function Usuario(login, fecha_registro) {
    this.login = login;
    this.fecha_registro = fecha_registro;
    this.datosUsuario = function(){
        return this.login + ' ' + this.fecha_registro;
    }
}

La principal diferencia entre los métodos A y B es que el B implementa de alguna manera lo que conocemos en programación orientada a objetos como encapsulación. Sólo un objeto del tipo que define el método puede utilizar la función datosUsuario().

obtener el resultado del metodo


//objeto.metodo()
var datos_de_usuario = usu0.datosUsuario();

NOTA: Hay un tercer caso:
C. Cuando tenemos un objeto ya definido, y por alguna razón necesitamos añadirle un nuevo método. Utilizamos la palabra reservada prototype igual que hacíamos para añadirle propiedades:


//Si el método se define a parte
Usuario.prototype.datosUsuario = datosUsuario;
//Si el método de define sólo par el objeto
Usuario.prototype.datosUsuario = function(){
    return this.login + ' ' + this.fecha_registro;
}

One Response to “Objetos en Javascript 2/2”

  1. LYLE dice:


    CheapTabletsOnline.Com. Canadian Health&Care.Best quality drugs.No prescription online pharmacy.Special Internet Prices. No prescription drugs. Order drugs online

    Buy:Lipitor.Advair.Lipothin.Aricept.Benicar.Female Pink Viagra.Zocor.Buspar.Cozaar.Zetia.Amoxicillin.Nymphomax.Seroquel.SleepWell.Ventolin.Acomplia.Wellbutrin SR.Female Cialis.Prozac.Lasix….

Leave a Reply

You must be logged in to post a comment.