【问题标题】:Assign property reference in javascript在 javascript 中分配属性引用
【发布时间】:2012-01-03 14:21:09
【问题描述】:

我正在编写一个小的 javascript 脚本来编辑 CSS 代码,我发现与其他浏览器相比,Internet Explorer 有很多……特殊性,如果我可以这么说的话。例如,document.stylesheet 对象的规则对象在大多数浏览器中称为 cssRule,在 IE 中称为规则。

我想在这里做的是分配包含窗口大小的对象的属性的引用(window.innerWidth & document.body.clientWidth),以避免每次检查 IE 对象名称是否应该是使用过的或“正常”的。

这是个好主意还是坏主意?

在发布问题之前,我想了更多,并想出了一个解决方案..

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

还有其他/更好的方法吗?

谢谢

(是的,我知道这样做真的没有必要,特别是因为我正在制作一个小脚本并且性能并不是一个真正的问题,但我主要是好奇。)

【问题讨论】:

标签: javascript algorithm cross-browser decoupling cssom


【解决方案1】:

使用映射表:

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

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

var foo = document.styleSheets["0"][css.rules[browser] ]

【讨论】:

    猜你喜欢
    • 2013-09-27
    • 2019-01-30
    • 2011-11-06
    • 2016-12-14
    • 2019-01-09
    • 2017-09-12
    • 1970-01-01
    • 2019-10-20
    • 1970-01-01
    相关资源
    最近更新 更多