Назначить ссылку на свойство в JavaScript

Я работаю над небольшим JavaScript-скриптом для редактирования CSS-кода, и я обнаружил, что есть много... особенностей, если можно так выразиться, с Internet Explorer по сравнению с другими браузерами. Например, объект rules объекта document.stylesheet называется cssRule для большинства браузеров и правило для IE.

Здесь я хотел бы назначить ссылку на свойство объекта, содержащего размер окна (window.innerWidth & document.body.clientWidth), чтобы не проверять каждый раз, следует ли использовать имена объектов IE или "нормальный"

Это хорошая / плохая идея?

Перед тем как опубликовать вопрос, я подумал еще немного и нашел решение..

function CommonObject(obj, propertyName){
    this.get = function() { return obj[propertyName]; }
}

Есть ли другой / лучший способ сделать это?

Спасибо

(Да, я знаю, что делать это на самом деле не обязательно, тем более, что я делаю небольшой сценарий, а производительность не очень важна, но я в основном проявляю интерес)

1 ответ

Используйте таблицу сопоставления:

var css = {"rules": {"ie":"rule","w3":"cssRule"} }

var browser = !!window.XPathEvaluator ? "w3" : "ie"

var foo = document.styleSheets["0"][css.rules[browser] ]
Другие вопросы по тегам