Hola
Para
crearContador,
var c es local pero para
f es global. Lo que está ocurriendo es mas o menos esto. Llamamos a
crearContador, en ese momento
c es igual a 0, empieza la función
f, a
c le sumamos 1 y lo devolvemos con lo que
c ya no es 0 sino 1, después devolvemos
f que es el alert
Es un proceso parecido a este
Cita: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
var c = 0;
</script>
</head>
<body>
<input type="button" value="sumar" onclick="c=c+1" />
<input type="button" value="ver valor" onclick="alert(c);" />
</body>
</html>
Corrígeme
@ZK si me equivoco