I programmt ein Objekt in Javascript haben, die so aussieht:Methode zu setzen interne Variable gleich Arraylänge
var facebookFriends={
name: "Ilias",
friendsArray:["john", "anna"],
friends:"",
setFriends:function(){
\t friends=friendsArray.length
},
};
Wenn ich rufe die Funktion ich folgende Fehlermeldung erhalten, die ich kann nicht verstehen.
VM52:6 Uncaught ReferenceError: friendsArray is not defined
at Object.setFriends (<anonymous>:6:2)
at <anonymous>:1:17
Kann jemand erklären, warum das passiert, da das Array definiert ist? Irgendwie scheint es, dass die Funktion nicht kompiliert wird, bevor sie aufgerufen wird.
EDIT:
Das anfängliche Problem gelöst ist, aber jetzt kam ich mit einer neuen Idee: was Initialisierung der Variable ohne Setter-Methode:
var facebookFriends={
name: "Ilias",
friendsArray:["john", "anna"],
friends:"",
friends:this.friendsArray.length,
};
Jetzt kommt ein weiterer Fehler:
VM51:5 Uncaught TypeError: Cannot read property 'length' of undefined
at <anonymous>:5:31
'this.friends = this.friendsArray.length' sollte funktionieren –