Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Куда пропадает объект (https://javascript.ru/forum/misc/33253-kuda-propadaet-obekt.html)

stp008 15.11.2012 23:52

Куда пропадает объект
 
Здравствуйте. Вот собственно код:
function User() {
  this.sayHi = function() { alert(this.name) };
}
 
User.createAnonymous = function() {
  var user = new User;
  user.name = 'Аноним';
  return user;
}
 
User.createFromData = function(userData) {
  var user = new User;
  user.name = userData.name;
  user.age = userData.age;
  return user;
}
 
// Использование
 
var guest = User.createAnonymous();
guest.sayHi(); // Аноним
 
var knownUser = User.createFromData({name: 'Вася', age: 25});
knownUser.sayHi(); // Вася


alert(user.name); //пусто



Вопрос в том куда пропадает объект user, который присваивается knownUser. Заранее спасибо.

zebra 15.11.2012 23:57

O_O А где вы создаете объект user?
alert(user.name); ?!?!?!?!

stp008 16.11.2012 00:02

User.createFromData = function(userData) {
  var user = new User;
  user.name = userData.name;
  user.age = userData.age;
  return user;
}

Возвращается же объект user, который присваивается после использования конструктора. Тут он присваивается последним knownUser.

zebra 16.11.2012 00:04

Он создается в функции, и виден только в ней. Почитайте про область видимости переменных в js.

stp008 16.11.2012 00:11

Спасибо)


Часовой пояс GMT +3, время: 13:19.