Investigación

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

Investigación

complementaria.
Instituto Tecnológico de las Américas.

Sustentante:

Chanel Mariannis Paredes Sánchez.

Matrícula:

2021-1120.

Asignatura:

Diseño Centrado en el Usuario.

Docente:

Ing. Bismark Montero.

Santo Domingo Este, 13 de marzo 2022.


Investigació
Complementari
1- Investigue a qué se le llama JavaScript no invasivo, no
obstructivo o no intrusivo (unobtrusive JavaScript). Muestre un
ejemplo:

JavaScript no obstructivo es un paradigma floreciente en el uso del lenguaje de


programación JavaScript, utilizado en la Web. Aunque el término no se define
formalmente, sus principios generalmente incluyen:

Separación de la funcionalidad JavaScript (la "capa del comportamiento") de las


capas de estructura/contenido y de presentación de una página.
Uso de buenas prácticas a fin de evitar los problemas de incompatibilidad de la
programación tradicional en JavaScript (tales como inconsistencias entre
navegadores y falta de escalabilidad)

El concepto es muy sencillo, consiste en separar la funcionalidad cliente de una página


del contenido HTML. Así pues, el Javascript no intrusivo, es aquel que está totalmente
separado de la estructura. Para ello el código Javascript en vez de estar mezclado con el
código HTML, debe estar en un fichero .js aparte. Para conseguir esta funcionalidad de una
forma sencilla y eficiente podemos utilizar la librería JQuery. Para los que no la conozcáis,
es un framework para javascript que nos permite enfocar de una manera diferente la manera
de desarrollar el comportamiento de una web, además de simplificarnos el desarrollo de la
parte de cliente de las aplicaciones web.

El Javascript no intrusivo, se fundamenta en lo hablado anteriormente, es decir, en


separar la funcionalidad cliente de una página del contenido, ya que a fin de cuentas un
documento HTML, no es otra cosa que un documento que nos permite difundir información
en un medio (si no, preguntádselo a google) de manera que este, tiene que gozar de una
estructura de marcación que nos permita conseguir ese fin.

Sí que es verdad, que en la medida de lo posible, nuestras páginas han de ser usables
siempre, y es ahí donde aparece Javascript ya que en la mayoría de casos, es para lo que lo
vamos a emplear.

Así pues, el Javascript no intrusivo, es aquel que está totalmente separado de la


información-estructura sintáctica del sitio (nótese que no hablo de una separación física
entre archivos).

Muestra de ejemplo:
Tradicionalmente, se ha escrito el javascript en línea, como parte del contenido de
un documento HTML. Por ejemplo, lo siguiente es una práctica típica de validación de
formularios JavaScript:

<input type="text" name="fecha" onchange="validateDate(this);" />

Pero el propósito de HTML es describir la estructura de un documento, no su


comportamiento programático. Combinar los dos afecta negativamente la facilidad de
mantenimiento, a la accesibilidad y a la velocidad de carga del documento (los archivos
JavaScript externos suelen guardarse en caché para posteriores visitas); por lo tanto es una
mala práctica. Lo recomendable es enlazar un archivo externo que contenga código
JavaScript desde el HTML:

<script type="text/javascript" src="archivoJavascript.js"></script>

La solución no invasiva al código superior podría ser la siguiente: Definir una


función que valide un formato de fecha determinado (validaFecha()), y asociar el
formulario que contiene el campo (formulario) con dicha función mediante un evento
concreto (evento submit) gracias al DOM. En este ejemplo se asocia la función
validaFecha(campo) al campo con id campoFecha mediante el método DOM del objeto
document getElementById():

<form name="formulario" action="recibidor.php" method="post">


<input type="text" name="fecha" id="campoFecha" />
<button type="submit">Enviar</button>
</form>

// Función que valida un formato de fecha concreto.


// Devolverá true o false en función de la evaluación
function validaFecha() {
// Buscamos el elemento con id "campoFecha"
var elCampo = document.getElementById("campoFecha");
// Contenido de la función que validará que el formato de elCampo.value
// sea el esperado con expresiones regulares. En este caso únicamente (dd/dd/dddd)
var resultado = /^\d{2}\/\d{2}\/\d{4}$/.test( elCampo.value );
if( resultado ) // caso positivo
return resultado;
else { // caso negativo
alert("El formato de fecha es dd/dd/dddd");
return false;
}
}
// Función que añade un evento a un objeto del DOM
// válida tanto para el código propietario de IE
// como para el estándar definido por la W3C
function listen(event, elem, func) {
if (elem.addEventListener) // W3C DOM
return elem.addEventListener(event,func,false);
else if (elem.attachEvent) // IE DOM
return elem.attachEvent("on"+event, func);
else {
throw "No es posible añadir evento";
return false;
}
}
// Asociamos al evento submit del formulario la función validaFecha
var elFormulario = document.forms["formulario"];
listen("submit", elFormulario, validaFecha);

2- Investigue qué es Null y undefined en JavaScript:


Cuando trabajamos con datos en Javascript nos encontramos con algunos casos algo
complicados de gestionar entre los que están undefined, null y NaN. Con estos datos
debemos tener en cuenta su especial comportamiento y naturaleza.

UNDEFINED

Cuando una variable ha quedado sin definir tiene un valor especial denominado
undefined, que se podría traducir como “sin definir“. Este valor puede resultar un poco
desconcertante, ya que además de un tipo de datos, existe una variable con ese nombre y
también es un valor como tal.

En primer lugar undefined es es un tipo de dato y por lo tanto se puede consultar con
typeof.

undefined como tipo de dato

1 var variable;

2 if (typeof variable === "undefined") {

3     console.log('ok');

4 }

Aunque estrictamente no es parte de la especificación del lenguaje EcmaScript, en


todas las implementaciones existe una variable global que contiene este valor y que se
denomina también undefined, por lo que podemos hacer comparaciones de este tipo:

Uso de undefined

1 var variable;
2 if (variable === undefined) {

3     console.log('ok');

4 }

También tenemos que tener en cuenta que undefined no es una palabra reservada de
Javascript y por lo tanto podemos definir una variable con ese nombre. Si lo intentamos en
el contexto global nos encontraremos que esa variable ha sido definida como {writable:
false, configurable: false} y no podemos cambiarla, pero sí podemos hacerlo dentro del
alcance de una función, aunque sin duda es una muy mala idea

Variable llamada undefined

1 function test() {

2     var variable;

3     var undefined = 10;

4     if (variable === undefined) {

5         console.log('ok');  // No se ejecuta

    }
6
}
7

Por último, debemos recordar que el operador void devuelve siempre un valor
undefined, sea cual sea la expresión que le situemos a su derecha y puede ser de utilidad en
alguna ocasión. Lo cierto es que instrucciones como void(0) son ahora poco habituales,
pero son perfectamente válidas. En el caso anterior podríamos haber comparado con
variable === void(0) y hubiéramos obtenido un resultado correcto.

NULL

El caso del valor nulo es también bastante singular. En este caso null es un literal
definido en la especificación del lenguaje, no una variable global como en el caso
undefined, por lo tanto, es una palabra reservada y no podremos utilizarla como nombre de
variable.
Podemos directamente utilizar el literal null para comprobar este valor es el que contiene
una determinada variable o es el retorno de una función.

Uso de null

1 var variable = null;

2 if (variable === null) {

3     console.log('ok');

4 }

A diferencia de undefined, null no dispone de un tipo específico y en el caso de


preguntar con typeof sobre un elemento con valor null nos dirá que es un objeto, lo cual
puede desconcertarnos, ya que en la práctica no podemos tratarlo como al resto de objetos.

typeof de null

1 var variable = null;

2 if (typeof variable === "object") {

3     console.log('ok');

4 }

Que null es un objeto es algo peculiar y debemos tener en considerar que una
variable que dice ser un objeto realmente puede contener null y producir un error en nuestro
código si lo lo validamos.

También podría gustarte