我正在编写一个简单的JavaScript函数,该函数需要一个td(表格单元格),并为其赋予红色边框样式或将其关闭。代码是:
function doStuff(theCell)
{
var highlight = "2px solid rgb(255, 0, 0)";
if(borderStyle==highlight)
{
theCell.style.border="";
}
else
{
theCell.style.border=highlight;
}
}
这很好。但是,为了使代码更整洁,我尝试用一个变量(声明在第一个变量的下面)代替css边框样式:
var borderStyle = theCell.style.border;
当我在等式比较中使用它时,此方法可以正常工作,但当我将其放入“ else”子句中的样式分配中时,此方法行不通。
我一定在尝试做一些非常愚蠢的事情。谁能解释。
最佳答案
如果您编写诸如var borderStyle = theCell.style.border;
之类的代码,则Javascript不会创建对该对象的引用。在这里,只有border值的副本分配给borderStyle。 theCell
的对象在其位置保持不变。没有创建参考。