На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ElcnU, ANDLL, fatalist
  
> Object.prototype.hasOwnProperty , непонятки
    пишу след код но почему то hasOwnProperty возвращает всегда false :wacko:
    ExpandedWrap disabled
      var Person = {
        name: '',
        age: 0
      }
       
      var person = Object.create(Person);
      console.log(Object.prototype.hasOwnProperty.call(person, 'name'));

    хотя просмотривая через console.log(person) объект person содержит атрибут 'name'
    Сообщение отредактировано: Cfon -
      разобрался надо добавить propertiesObject: {name: {value:'Gregory'}, age: {value: 42}} т.е
      ExpandedWrap disabled
        var person = Object.create(Person, {name: {value:'Gregory'}, age: {value: 42}});

      оператор
      ExpandedWrap disabled
        var person = Object.create(Person)

      посути можно заменить на
      ExpandedWrap disabled
        var person = Object.create()

      поскольку атрибуты и функции person находяться в его прототипе person.prototype
      или делать проверку
      ExpandedWrap disabled
        Object.prototype.hasOwnProperty.call(person.__proto__, 'name'));


      Добавлено
      шото запуталси так еще раз :D
      ExpandedWrap disabled
        var person = Object.create(Person);

      создаем person в котором атрибуты name и age будут в его прототипе __proto__, далее
      ExpandedWrap disabled
        person.name = 'Gregory';
        person.age = 42;

      по сути определяем новые атрибуты name, age для person такие же есть и в прототипе :lol:

      вывод если в исходном объекте Person нет функций то нет смысла писать
      ExpandedWrap disabled
        var person = Object.create(Person);

      мона сразу
      ExpandedWrap disabled
        var person = {
          name: 'Gregory',
          age: 42
        }
      Сообщение отредактировано: Cfon -
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0187 ]   [ 15 queries used ]   [ Generated: 23.04.24, 16:21 GMT ]