Programación orientada a objetos (OOP) con Javascript

AUN EN DESARROOLLO

Introduccion
Como llamar javascript
Manejo de datos
Sitaxis
Operadores
Funciones
Objetos
Metodos
Manejo de errores
Objetos avanzados

 Los siguientes documentos Este obra está bajo una licencia de Creative Commons Reconocimiento-SinObraDerivada 3.0 Unported.Los e creado y colocado en esta seccion pues estos son documentos ordenados, comparados con las demas entradas de la pagina.
Licencia de Creative Commons


Programación orientada a objetos (OOP) con Javascript

Javascript es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos[2] , basado en prototipos, imperativo, débilmente tipado y dinámico.

Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas, aunque existe una forma de Javascript del lado del servidor (Server-side Javascript o SSJS). Su uso en aplicaciones externas a la web, por ejemplo en documentos PDF, aplicaciones de escritorio (mayoritariamente widgets) es también significativo.

JavaScript se diseñó con una sintaxis similar al C, aunque adopta nombres y convenciones del lenguaje de programación Java. Sin embargo Java y Javascript no están relacionados y tienen semánticas y propósitos diferentes.

Todos los navegadores modernos interpretan el código JavaScript integrado en las páginas web. Para interactuar con una página web se provee al lenguaje JavaScript de una implementación del Document Object Model (DOM). extraido de wikipedia.

A la materia

HOLA COSTA RICA!
//comentarios en javascript 
document.write("hola costa rica");
//ó 
var str_var;
str_var = "hola costa rica";
document.write(str_var);
//ó
alert(str_var);
//en algunos casos necesitamos el padre
window.alert(str_var); 



Como llamar javascript
Se llama poniendo el el head html, la entidad tipo script con la url respectiva.

//ó


Manejando datos
los datos aqui no se declaran por tipo, se reconocen automaticamente por el compilador.Las variables siempre son globales dentro de una funcion OOP, amenos que sea declarada con la palabra reservada "VAR"
var normal = "hola costa rica";
var objetos_json = {"james","jara","arroyo"};
var array = ["james","jara","arroyo"];
var boolean = false;
var numero = 1;
var numero_float = 1.12;
var una_funcion = new function(){}; //ó referencia de una funcion

Sintaxis
Algunos ejemplos de la sintaxis de javascript
//for
var i=0;
for (i=0;i<=5;i++)
{
document.write("numero: " + i);
document.write("");
}

//while
var i=0;
while (i<=5)
  {
  document.write("numero: " + i);
  document.write("");
  i++;
  }

//break
var i=0;
for (i=0;i<=10;i++)
  {
  if (i==3)
    {
    break;
    }
  document.write("numero: " + i);
  document.write("");
  }

//for IN
var personA={"james","jara","arroyo"};
for (x in personA)
{
document.write(personA[x] + " ");
}

Comentarios
Como documentar comentarios en el documento
//COMENTARIO 1
/*
*
*  COMENTARIO 2
*
*/

Operadores
Tabla de operadores logicos arimetricos y de asignacion
Ope
ejemplo resultad
+ Addition x=y+2 x=7 y=5
- Subtraction x=y-2 x=3 y=5
* Multiplication x=y*2 x=10 y=5
/ Division x=y/2 x=2.5 y=5
% Modulus (division remainder) x=y%2 x=1 y=5
++ Increment x=++y x=6 y=6
x=y++ x=5 y=6
-- Decrement x=--y x=4 y=4
x=y-- x=5 y=4
Oper       
ejemplo resultad
= x=y x=5
+= x+=y x=x+y x=15
-= x-=y x=x-y x=5
*= x*=y x=x*y x=50
/= x/=y x=x/y x=2
%= x%=y x=x%y x=0


Comparaciones
los signos de comparacion no se va a detallar por ser universales.
//comparacion normal 
if (peso<85)document.write("peso liviano");

//comparacion normal con bloque
if (peso<85){document.write("peso liviano");};

//comparacion minima expresion
mensaje=(peso<85)?"peso liviano": "peso pesado";alert(mensaje);
//mensaje es si peso menor a 85 entonces mensaje es peso liviano sino mensaje es peso pesado
/*
 * var variable = (comparacion) ? true : false;
 */

Funciones
las funciones se utilizan practicamente casi en todo y para todo
function saludar(){
    alert("hola"); 
  }

  //enlace hrf evento on click
  ..onclick="saludar();";
funcion con retur retorno:
function saludar(quien){
    return "hola "+ quien;
  }

  //enlace hrf evento on click
  ..onclick="saludar('james');"; 


OBJETOS
javascript no tiene concepto de clases, no es codigo funcional y es totalmente orientado a objetos o mejor dicho: atributos,metodos y propiedades encapsuladas.
//Objeto nativo 
var objeto = new objet();
objeto.propiedad = "dato";

//objeto igual pero en formato json
var objeto = {
 propiedad : 'dato',
 propiedad2: 'datos2'        
 };

alert(objeto.propiedad);
//retornara dato;


Metodos
los metodos seran privados solamente si se declaran dentro de la clausula del objeto, de lo contrario en un metodo normal publico debera llevar THIS. prototype hace que se herede la propiedad a los hijos, si no se quiere heredar no se debe poner prototype
function pc(marca,vendor) {
 this.marca = marca;
 this.vendor = vendor;
 }
 pc.prototype.getVendor= function (){
 return this.vendor;
 }
 pc.prototype.getMarca = function (){
 return "marca eS:"+this.marca;
 }


Capturar Errores Try
bien facil capturar errores
//intentar y capturar
 var test = 1;
 try { codigo } catch( error ) {  alert(error); }
 //exptiones throw es para configuar el error
 try {
     if (!test){
           throw "no var";
               }else if(test==2){ 
                      throw 2;
               }else if(test==3){
                      throw 3;
               }else if(test==4){
                      throw 4;
               }   
     }catch (error) {
           if (error==2){ alert("error no es 1 es:"+error);} else if
              (error==3){ alert("error no es 1 es:"+error);} else if
              (error==3){ alert("error no es 1 es:"+error);}     
     }


JAVSCRIPT AVANZADO POR OBJETOS

OBJETOS 2

apply() y call()
estos es la forma de llamar una funcion sobre un objeto, apply y call son lo mismo a exeption de que call rrecibe los valores en formato array. funcionX.apply(objeto,valores);
funcion mutiplicar (x){
   //esta es la propiedad del objeto
   return this.valor * x;
}

var numerito = new objet();
numerito.valor = 5;

var procedimiento = multiplicar.apply(numerito,2);
var procedimiento = multiplicar.call (numerito,[2]);

alert(procedimiento); 




OOD AVANZADO
Un ejemplo de un objeto con metodos y propiedades, utilizando SCOPE & CLAUSURE-
function figura(lados){
   this.lados = lados; //publico
   var crear = false; //PRIVADO
   
   //METODO
   function crear_figura(){ //SCOPE PADRE GLOBAL =FIGURA
    crear = true
   }

   //LLamada
   crear_figura.call(this);

   //metodo publico
   this.crear = function (){
                crear_figura.call(this);
                }

};


EJEMPLO FINAL
Objeto persona que tenga tel,nombre.Que se bañe y duerma
function humano(tel,nombre,genero){

   this.tel = tel; //publico
   this.nombre = nombre ; //publico
   this.genero = genero;
   var vivo = false; //PRIVADO
   
   //metodo
   function nacer_humano(genero){  //scope global de humano
   vivo = true;
   alert("nuevo humano=="+"this.nombre:"+
         this.nombre+"tel:"+this.tel+";genero:"+this.genero);
   }
   
   //Llamada
   nacer_humano.call(this,"mujer");
  
   //metodo publico
   this.nacer = function (){ nacer_humano.call(this,"mujer") }

};









 Los siguientes documentos Este obra está bajo una licencia de Creative Commons Reconocimiento-SinObraDerivada 3.0 Unported.Los e creado y colocado en esta seccion pues estos son documentos ordenados, comparados con las demas entradas de la pagina.
Licencia de Creative Commons

0 pensamientos:

Post a Comment

feedback!