Entendimiento JavaScript y tipos deEntendimiento JavaScript y tipos de
Problema que desea solucionar el hecho de que JavaScript no tiene tipos declarados por sus variables. Teoría de código JavaScript no tiene ninguna variable con un tipo declarado. La falta de variables de tipo es evidente cuando se declara funciones. Dicho esto, no tener las declaraciones de variables escrito no significa que no tiene ningún tipo JavaScript o ningún tipo de seguridad. Empecemos con la simple declaración de una función, como lo ilustra el siguiente ejemplo. Fuente: / web / ROOT / ajaxrecipes / JavaScript / AddTwoNumbers función expectations.html (num1, num2) (return num1 + num2;) La AddTwoNumbers función tiene dos parámetros, num1 y num2, y representa dos números individuales. En la aplicación de AddTwoNumbers, los dos números se suman y el valor se devuelve. Esta forma de declarar y utilizar una función es común en otros lenguajes de programación. El resultado de sumar los números num1 y num2 es devuelto a la persona que llama como sigue: assertEquals (4, AddTwoNumbers (2, 2)); assertEquals La función se utiliza para verificar que cuando la AddTwoNumbers función es llamada con 2 y 2, 4 se genera como resultado. Cuando se ejecuta el código, todo funciona como se esperaba, pero puede usted estar seguro de que todo es correcto? La respuesta es no, usted no puede sentirse segura, porque algunos supuestos engañosa se están realizando. La función AddTwoNumbers declara dos números, pero la hipótesis de que num1 y num2 son los números no es razonable. En JavaScript, las variables son de tipo no declarado. Una vez asignado a un tipo, una variable es de tipo seguro, pero no sé qué tipo es hasta que se asigna a la variable. Por lo tanto, con respecto a la función, los tipos de num1 y num2 no se conocen. Solución Una forma más segura para aplicar AddTwoNumbers es la siguiente. Fuente: / web / ROOT / ajaxrecipes / JavaScript / AddTwoNumbersDisplayTypes función expectations.html (num1, num2) (var val1 = parseInt (num1); var val2 = parseInt (num2); if (isNaN (val1) | | isNaN (val2)) ( throw new error ( "num1, (y / o) num2 no son ni un número o una cadena");) info ( "AddTwoNumbersDisplayTypes", typeof (num1)); info ( "AddTwoNumbersDisplayTypes", typeof (num2)) return val1 + val2;) En la ejecución vez, el método parseInt, que se utiliza para convertir una cadena en un número, se aplica tanto a num1 y num2. El resultado de parseInt es un valor entero que permite num1 y num2 a sumarse. Los parámetros de num1 y num2 se ha verificado que los números usando el operador isNaN. El valor de retorno de isNaN es un valor verdadero o falso. Si cualquiera de las fichas de los falsos valores, a continuación, num1 o num2 no es un número y una excepción. En esta implementación vez, parece que muy poco pueden ir mal. En cuanto a la aplicación de la suma de dos números, usted puede preguntarse cómo el uso de un lenguaje dinámico como JavaScript es una ventaja sobre cualquier otro lenguaje de programación. El código adicional que se utiliza para verificar si los tipos se utilizan correcta sería tedioso si ese tipo de lógica se implementó para todas las funciones. En otros lenguajes de programación como Java y C #, añadiendo dos números de forma segura es totalmente trivial. Por supuesto, si usted va a realizar un gran número de cálculos numéricos, a continuación, JavaScript no es probablemente la lenguajes de programación más adecuados. Pero cuando tiene que escribir una aplicación para hacer algo, y usted no quiere perder el tiempo con el más bajo nivel de detalles de qué tipo hace qué, JavaScript es la mejor opción. El código fuente modificado es un ejemplo de escrito de defensa código, que es una buena práctica, pero no toma demasiado lejos y deja que te hace paranoide. ¿Quieres código que hace lo que se suponía que debía hacer, y cuando no lo hace, se debe generar errores explícita en otras palabras, quiere código que grita cuando se produce un error. El código que recoge el grito se debe hacer algo con ella. Cuando la escritura de funciones, el objetivo es escribir una aplicación que tiene un código de defensa adecuada a las expectativas de la función. Al escribir código en un lenguaje dinámico como JavaScript, las expectativas y convenciones juegan un papel muy importante. Al escribir código utilizando un lenguaje de programación como C # o Java, los programadores se espera dar cuenta de todas las situaciones que funciona y no funciona. Vamos a volver a escribir por lo tanto nuestra función, además de poner en práctica nuestras expectativas y el uso de una convención. El primer paso es escribir las pruebas y pensar en lo que es y no es apropiado. La aplicación siguiente refleja nuestras expectativas. Fuente: Objeto / web / ROOT / ajaxrecipes / JavaScript / classical_add_display_types expectations.html: function () (assertEquals (4, AddTwoNumbersDisplayTypes (2, 2)); assertEquals (4, AddTwoNumbersDisplayTypes ( "2", 2)); try (AddTwoNumbersDisplayTypes (nuevo (), 2); testManager.failed (); return;) catch (e) (info ( "classical_add_display_types", "error esperado (" + e.toString () + ")");) testManager.success (); ), Las dos primeras assertEquals llamadas a métodos reflejar la expectativa de que se podría añadir un número que es una cadena o un valor numérico. La expectativa de sumar dos valores numéricos es evidente, porque suelen agregar dos números. La expectativa de ser capaces de reconocer dos áreas como los números es apropiado porque se trata de formularios HTML. Elementos de formulario HTML almacenar sus valores como amortiguadores. Así que al realizar operaciones matemáticas con datos de elementos de formulario HTML, esperamos que las fórmulas para gestionar la conversión de topes a los valores numéricos. Después de la llamada a métodos que aplicar las pruebas de nuestras expectativas, el código dentro del bloque de excepción en práctica algo que no esperaba trabajo. Llamar a la adición de un objeto, en una propiedad del objeto puede hacer referencia a un número, no es algo que espera que la función, además de averiguar. Aquí nos espera un error que se genera. El código que no se espera que el trabajo, o al menos se puede esperar que no, que se envuelve en un bloque de excepción. El papel de la confianza es necesaria en la función y de la llamada de la función, como se ilustra en el ejemplo. En JavaScript, las funciones deben cumplir con ciertas expectativas, por lo que deben observar los siguientes puntos al escribir a: • Las variables no se declaran con los tipos, y cuando las variables no están asignados son considerados sin tipos. • Una vez asignadas, las variables de mirar, sentir y comportarse como tipos. • Cuando la aplicación de funciones, que está escribiendo los bloques de código que implementan las expectativas. • Para satisfacer adecuadamente las expectativas, es necesario escribir las pruebas. • Cuando las expectativas no se cumplen, los errores que debería ser obvio y sus mensajes correspondientes deben ser explicativas. • Si desea comprobar qué tipo de una variable, utilice typeof. No use un objeto simple o cheque. • Cuando la aplicación de las expectativas, no sea paranoica y trata de crear un sistema de tipo de verificar los detalles exactos de todas las variables y todos los parámetros. un artículo presentado por Sonja Lande Descargo de responsabilidad:Nuestro sitio web no es responsable por el contenido de este artículo. Webarticles es un recurso de información gratuito. Importante: Este artículo "Comprensión JavaScript y tipos de" fue traducida por un software automático. Sentimos pena por los errores de ortografía que pueda haber ocurrido. Gracias por su comprensión.
|
|||||
| Online: 250 users browsing the articles directory |
|
|