Как определить, в какой прототип записано свойство?
Пишу ряд полифиллов для мобильного браузера. Постоянно проблема, как их подключать. В принципе, можно методом тыка в 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
});
Как быть?
|