我的问题涉及使用 JavaScript 声明和使用函数时的性能增益或损失。假设我有一个函数foo()
,定义如下:
function foo(arg1) {
//a simple CSS change, such as changing background color
}
arg1
用于标识 HTML 元素的字符串在哪里。foo()
在鼠标悬停事件上触发。CSS 更改使用 jQuery 进行,但我认为这对我的问题并不重要。我想在 mouseout 事件上将 CSS 属性恢复为默认值。声明另一个函数是否会有性能优势foo2()
,例如:
function foo2(arg1) {
//undo the CSS change
}
或者最好重新定义foo()
如下,使用第二个参数作为开关:
function foo(arg1,arg2) {
if(arg2 == 'change') {
//make the CSS change for arg1
}else if(arg2 == 'revert') {
//revert the change for arg1
}
}
我不关心页面的加载时间。我的目标是尽量减少我的代码量,但不妨碍 CSS 更改的速度。
编辑:arg1
不会严格指一个元素。它可用于标识一组元素,例如<td>
列中的 's 共享的类名。这就是为什么:hover
CSS 选择器不会做我需要做的事情的原因。
编辑:再次,为了清楚起见,假设我有一组包含 class 的元素arg1
。我希望所有元素都能体验 CSS 更改,即使只有一个具有该类名称的元素触发了事件。