Blog

Quizz: JavaScript orientado a objetos (Parte II)

Apr 23, 2009 | Español | By Crysfel | 3 Comments | Read in English

Esta es la segunda parte del quizz del tercer capitulo del curso, los temas examinados son: creación de objetos y métodos públicos, métodos privados y privilegiados, paquetes y namespace, herencia simple con JavaScript. Si estos conceptos te son desconocidos te sugiero estudiar antes de presentar esta prueba, suerte!

Quizz: JavaScript orientado a objetos (Parte II)
Author: Crysfel

I'm a software developer with 6+ years of experience, when I'm not developing software I may be writing a tutorial, you can follow me on twitter

Excellent! You got the highest grade:

You had a few questions wrong, but you passed with:

I am sorry, you did not get the minimum grade, your grade is:

En JavaScript las funciones son objetos.

  • Cierto, las funciones son un objeto pues tienen propiedades y métodos.
  • Falso, las funciones son rutinas o métodos pero no son objetos.

¿Cuál es la forma correcta de crear un objeto?

  • Únicamente utilizando la palabra reservada “Object”.
  • Podemos utilizar las llaves “{propiedad:value}” o la palabra reservada “Object”.
  • JavaScript no es un lenguaje orientado a objetos por lo tanto no se pueden crear objetos.

¿Cómo podemos crear instancia de un objeto?

  • Mediante la palabra reservada “class”.
  • Usando un “instance of” para crear la instancia requerida.
  • Aplicando un “new” a la función constructora del objeto.
  • Es imposible crear objetos en JavaScript.

¿Cómo definimos un método público?

  • Anteponiendo al método la palabra reservada “public”.
  • Utilizando la palabra reservada “visible”.
  • Utilizando la propiedad “prototype” de la función constructora y agregándole el método deseado.
  • Ninguna de las anteriores.

¿Es posible crear métodos y propiedades privadas?

  • Por supuesto que si.
  • Claro que no.

Dado el siguiente código, cual es el resultado al ser ejecutado?

var User = function(options){
	this.user = options.user;
	function sayHi(){
		console.debug('hi people!');
	}
}
var u = new User({name:'Crysfel'});

u.sayHi();
  • En la consola de Firebug se imprime “hi people!”.
  • Se genera un error cuando intenta ejecutar el método sayHi porque es un método privado.

De acuerdo con “Douglas Crockford”, ¿qué es un método privilegiado?

  • Es lo mismo que los métodos públicos.
  • Son aquellos métodos que pueden realizar llamadas Ajax al servidor.
  • Son métodos públicos que pueden acceder a las variables privadas.
  • No tengo idea quien es esa persona ni de sus aportaciones.

¿En qué momento se crean los métodos privilegiados?

  • Estos métodos se crean aleatoriamente en todos los objetos en JavaScript.
  • Son métodos creados dinámicamente en tiempo de ejecución pues se encuentran dentro de la función constructora.
  • Son creados de la misma forma que los métodos públicos.
  • Ninguna de las anteriores.

¿Cómo podemos crear un “paquete”?

  • Utilizando la palabra reservada “package” al inicio de nuestro código.
  • Es imposible crear un “paquete” con JavaScript.
  • Creando objetos dentro de otros objetos.
  • Escribiendo el código dentro de un objeto llamado “namespace”.

¿Cuales son los problemas que se presentan por no utilizar “paquetes”?

  • Podemos borrar o sobre escribir fácilmente el trabajo de nuestros compañeros de equipo.
  • La compatibilidad entre librerías de terceros.
  • Podemos sobre escribir variables y obtener resultados no deseados y difíciles de depurar.
  • Todas las anteriores

¿Cuál es la forma de crear “paquetes” con Ext JS?

  • Ext.namespace(‘paquete.que.necesitemos’) y Ext.ns(‘paquete.que.necesitemos’)
  • Ext.package(‘paquete.que.necesitemos’)
  • Namespace(‘paquete.que.necesitemos’) y Package(‘paquete.que.necesitemos’)

3 Responses to “Quizz: JavaScript orientado a objetos (Parte II)”

  • kmil0v Oct 15, 2009

    ejh! 100 :)

    • Crysfel Oct 16, 2009

      Felicidades!! :D

  • Kiro May 23, 2010

    hay alguna manera de corregirlo?

Leave a Reply







Updates

RSS

Subscribe to our feeds to receive updates of our newest posts and free tutorials.

Site search

Maybe we have what you need, would you like to search first?

Donations

Would you buy me a cup of coffee? I am sharing my knowledge and time with you, help this project grow. Thank you!