nam: Wo liegt mein Denkfehler?

Beitrag lesen

einfache Datentypen, werden in JS nicht als Referenzen übergeben. D.h. du müßtest hier eigentlich eine Fehlermeldung erhalten (Fehlerkonsole ist tatsächlich leer?), da fn der string 'test' ist und 'test' = 't' geht nicht.

Nein, keine Fehlermeldungen (Firefox, Safari).
Was sind einfache Datentypen? Bzw. was sind den 'komplexe' Datentypen (in JS natürlich)?

Bei Funktionen funktionierts (*grins*) auch nicht:

  
<!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=function() {  
 alert('foo')  
};  
function overwrite(fn) {  
 fn=function() {  
  alert('bar');  
 };  
}  
</script>  
</head>  
<body>  
<p>  
<a href="#" onclick="overwrite(foo);">Click1</a><br>  
<a href="#" onclick="foo();">Click2</a>  
</p>  
</body>  
</html>  

Alertet auch 'foo'.