molily: Primitives und Objects

Beitrag lesen

Hallo,

var s = "hello world";

var e = object( s );
alert( s.length ); // Ausgabe: 11
alert( e.length ); // Ausgabe: undefined


>   
> Da wird also irgendwas nicht durchgereicht?  
  
Da wird kein einziger Member kopiert, weil primitive values keine Member haben. Ein primitive value kann kein Prototyp sein, weil es kein Object ist.  
  
So würds gehn:  
F.prototype = typeof(o) == "function" || typeof(o) == "object" ? o : Object(o); // mach zur Not ein Object draus  
oder s = new String("hello world"); // mach gleich ein Object draus  
  

> oha, Arrays darf ich also vergewaltigen, interessant.  
  
Arrays sind auch Objects.  
  

> Dafür Number auch nicht (ähnliche Probleme wie bei String)  
  
Du hast es hier mit Number-Primitives zu tun. Sorg dafür, dass es ein Number-Object ist.  
  
Mathias