Я наткнулся на функцию Rect(), которая присутствует как в Firefox, так и в Chrome (но не в IE 10):
typeof Rect; // "function"
Rect; // function Rect() { [native code] }
Но эта функция недоступна ни напрямую, ни как конструктор:
Rect(); // TypeError: Illegal constructor
new Rect(); // TypeError: Illegal constructor
Какова цель этой функции?
Ответ 1 · рейтинг 11 · nmaier
Rect - это интерфейс, определенный в объектной модели документа ( DOM) Спецификация стиля уровня 2 для использования при работе с CSS rect() в привязках DOM (например, привязках Javascript DOM в браузере).
Как вы заметили, вы не можете сами вызывать его как конструктор, но объекты, реализующие этот интерфейс, возвращаются различными функциями например. .getRectValue():
function doSomething(v) {
if (v instanceof Rect) {
...
}
else {
...
}
}
doSomething(window.getComputedStyle(elem, null).
getPropertyCSSValue(styleProp).getRectValue());