Devolver false en JavaScript
-
Sentencias
return
en JavaScript -
Usar el método
preventDefault()
en JavaScript -
Utilice el método
Return False
en JavaScript -
Cuándo y por qué usar
return false
en JavaScript -
Diferencia entre
return false
ypreventDefault()
en JavaScript
Este artículo explicará la declaración return false
de JavaScript, la necesidad de usarla y cómo usarla en programas de JavaScript. También explicará la diferencia entre declaraciones return false
y preventDefault
.
Sentencias return
en JavaScript
Las sentencias return
de JavaScript omiten las ejecuciones de las funciones y regresan a la función de llamada. Las sentencias return
pueden o no devolver ningún valor.
A continuación se muestra un ejemplo de una sentencia return
simple en JavaScript.
// This return statement returns the product of 'x' and 'y'
function myFunction(x, y) {
return x * y;
}
Asimismo, podemos devolver verdadero o falso en una simple función de JavaScript.
function is_Equal(num1, num2) {
if (num1 == num2) {
return true;
} else {
return false;
}
}
Usar el método preventDefault()
en JavaScript
Este método detiene el evento si se puede detener, lo que significa que no se producirá la acción predeterminada que pertenece al evento. Simplemente evita el comportamiento predeterminado del navegador.
Podemos usar la función preventDefault()
de muchas maneras como:
- Una vez que haga clic en el enlace, evitará que el enlace siga la URL.
- Si hace clic en una casilla de verificación, la función alternará la casilla de verificación.
- Si hace clic en el botón
Submit
, impedirá enviar un formulario.
Utilice el método Return False
en JavaScript
Return false
sigue los siguientes tres pasos.
- Detiene el comportamiento predeterminado del navegador.
- Evita que el evento propague el DOM.
- También detiene la ejecución de devolución de llamada y vuelve inmediatamente.
Los desarrolladores usan el return false
en muchos casos diferentes.
- Se basa en el valor
booleano
(verdadero o falso). Si un campo de formulario está vacío, la función genera un mensaje de alerta, que devuelve falso, lo que impide que se envíe el formulario.
// without using preventDefault or return false
<!DOCTYPE html>
<html>
<head>
<title>
without PreventDefault( ) or Return false
</title>
<script>
function f_Child() {
alert('Link Clicked');
}
function f_Parent() {
alert('div Clicked');
}
</script>
</head>
<body style="text-align:center;">
<h1 style="color:green;">
without PreventDefault( ) or Return false
</h1>
<div onclick='f_Parent()'>
<a href='https://www.delftstack.com/'
onclick='f_Child()'>Click here to visit delfstack.com</a>
</div>
<br>
<br>
</body>
</html>
En el ejemplo anterior, el enlace Delftstack mencionado se abrirá como el comportamiento predeterminado del navegador, ya que no hemos utilizado preventDefault
o return false
.
- El siguiente ejemplo muestra que el uso de
preventDefault
cambiará el comportamiento predeterminado del navegador.
// using preventDefault
<!DOCTYPE html>
<html>
<head>
<title>
with PreventDefault()
</title>
<script>
function f_Child()
{
event.preventDefault();
event.currentTarget.innerHTML = 'Click event prevented'
alert('Link Clicked');
}
function f_Parent()
{
alert('div Clicked');
}
</script>
</head>
<body style="text-align:center;">
<h1 style="color:green;">
using preventDefault
</h1>
<div onclick='f_Parent()'>
<a href='https://www.delftstack.com/'
onclick='f_Child()'>Click here to visit delftstack.com</a>
</div>
<br>
<br>
</body>
</html>
- Mientras que en el siguiente ejemplo,
return false
evita que el evento se propague a través del DOM.
// using return false
<!DOCTYPE html>
<html>
<head>
<title>
Return false
</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body style="text-align:center;">
<h1 style="color:green;">
using return false
</h1>
<div>
<a href='https://www.google.com'>Click here to visit google.com</a>
</div>
<script>
$('a').click(function(event)
{
alert('Link Clicked');
$('a').text('Click event prevented using return FALSE');
$('a').contents().unwrap();
return false;
});
$('div').click(function(event)
{
alert('Div clicked');
});
</script>
<br>
<br>
</body>
</html>
Por lo tanto, el uso de return
hace que su código se cortocircuite y detenga la ejecución inmediatamente, y use la declaración return false
para evitar que suceda algo.
Cuándo y por qué usar return false
en JavaScript
- La declaración
Return false
se usa para evitar que algo suceda. - Cuando se llama a una declaración
return false
en una función, la ejecución de esta función se detiene. Si se especifica, se devuelve un valor dado a la persona que llama a la función. - En los controladores de eventos, como
onsubmit
, devolver falso es una forma de saber que el evento no se activará. Entonces, en el caso deonsubmit
, esto significaría que el formulario no se envía.
Ejemplo:
<!DOCTYPE html>
<html>
<head>
<title>
Return false Statement in JavaScript
</title>
<script>
function validateForm()
{
var a = document.forms["myForm"]["fname"].value;
// use of return false statement if name field is empty
if (a == "")
{
alert("Please enter value in name field");
return false;
}
}
</script>
</head>
<body style="text-align:center;">
<h1 style="color: rgb(128, 0, 6);">
Return False Statement
</h1>
<form name="myForm"
action="/action_page.php"
onsubmit="return validateForm()"
method="post">
Name:
<input type="text" name="fname">
<input type="submit" value="Submit">
</form>
</body>
</html>
Diferencia entre return false
y preventDefault()
en JavaScript
En JavaScript, tanto return false
como preventDefault()
se utilizan para detener el comportamiento predeterminado del navegador, pero sus funcionalidades y usos son ligeramente diferentes.
La principal diferencia entre estas declaraciones es que el código después de return false
no se ejecutará, mientras que el código después de preventDefault()
sí se ejecutará.