Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как определить, в какой прототип записано свойство? (https://javascript.ru/forum/events/64592-kak-opredelit-v-kakojj-prototip-zapisano-svojjstvo.html)

AlexKain 23.08.2016 18:24

Как определить, в какой прототип записано свойство?
 
Пишу ряд полифиллов для мобильного браузера. Постоянно проблема, как их подключать. В принципе, можно методом тыка в Element или Object, но хотелось бы знать наверняка. Например, для поиска источника classList написал такой код:

var test, obj = HTMLBodyElement;
do{
test = obj.hasOwnProperty('classList');
console.log(obj + ' ' + test);
obj = obj.__proto__;
} while(!test )

В каждом варианте выводит false. Но если подключить в прототип Element, то эмуляция classList отлично работает:

Object.defineProperty(Element.prototype, 'classList', {
get: classListCreate

});

Как быть?

Rise 23.08.2016 20:35

AlexKain,
alert(typeof HTMLBodyElement);

alert(typeof Element.prototype);

AlexKain 24.08.2016 21:10

Ясно, спасибо


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