onie,表达式执行两次

时间:2012-04-19 11:35:13

标签: javascript css internet-explorer

<div style="width:expression(alert('1'));"></div>

如果在IE 7中运行此代码,它将执行两次。为什么呢?

1 个答案:

答案 0 :(得分:1)

不要使用表达式。表达式解析引擎经常重新计算它们,以便在上下文中进行最小的更改,包括鼠标移动,每个元素焦点的更改等等,从而引入疯狂的开销。对于发生这种情况的每个点,也没有明确的文档,因此您通常无法提前计划比基本计算稍微复杂的任何事情。最后,微软将它们标记为已弃用,因此它们甚至无法在未来的IE版本中使用。