nam: Wo liegt mein Denkfehler?

Beitrag lesen

Hallo

Es ist kurz nach Mittag und mein Blut ist im Verdauungstrakt, statt im Hirn.
Habe folgenden Code (vereinfacht):

  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"  
        "http://www.w3.org/TR/html4/strict.dtd">  
  
<html>  
<head>  
<title>hyph.js - test</title>  
<meta http-equiv="content-type" content="text/html; charset=UTF-8">  
<meta http-equiv="Content-Script-Type" content="text/javascript">  
<script type="text/javascript">  
var foo='test';  
function overwrite(fn) {  
 fn='t';  
}  
</script>  
</head>  
<body>  
<p>  
<a href="#" onclick="overwrite(foo);">Click1</a><br>  
<a href="#" onclick="alert(foo);">Click2</a>  
</p>  
</body>  
</html>  

Bei Klicks auf Click1 und dann auf Click2 erwarte ich - offenbar irrtümlicherweise - ein alert mit 'bar'.
Ist aber 'foo'. Das heisst, die Variable foo wird nicht überschrieben.

Wo ist der Denkfehler/die Wissenslücke?

Danke und Gruss,
Mathias