Не возвращает свойства с атрибутами Object
Здравствуйте, ребят начал изучать джс по учебнику Флєнагана
помогите разобратьса var o ={}; var p = {x:1} Object.defineProperties(o,{x: {value:1,writable:true,enumereble:false,configurable:true}, y: {value:5,writable:true,enumerable:false,configurable:true}}); Object.defineProperty(p,'extend',{ writable:true, enumerable:false, configurable:true, value: function(o) { var names = Object.getOwnPropertyNames(o); console.log(names); for(var i = 0; i < names.length;i++) { if(names[i] in o) continue; var desc = Object.getOwnPropertyDescriptor(o,names[i]); Object.defineProperty(this, names[i],desc); } } }) console.log(p); Object.getOwnPropertyDescriptor(p,"y"); вот такой пример, здесь нужно передать все атрибуты свойст вместе со свойствами объекта О в объект Р, но както свойства не передаютса, немогу понять в чем трабл. p.y возвращает undefined....хотя по идее должен возвратить значение 5 |
<juniorJS>,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Спасибо за подсказку, зделал, вроде более четабельный теперь код
|
Спасибо уже разобрался сам
нужно было в условие o заменитьь на this. и просто вызвать тот метод вот так) p.extend(o); |
Цитата:
|
Часовой пояс GMT +3, время: 18:34. |