Quizz: JavaScript orientado a objetos (Parte II)
Apr 23, 2009 | Español | By Crysfel | 3 Comments | Read in EnglishEsta 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!
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’)







ejh! 100