另外,还有复合参数调用的语句,如果能适当的展开也会给我们带来很多好处,比如代码: var rect = dashboard.getBoundingClientRect(); this.InsertNewRoom(dashboard, event.clientX-rect.left-1, event.clientY-rect.top, event); 将复合参数展开后的代码为: var rect = dashboard.getBoundingClientRect(); var innerX = event.clientX-rect.left-1; var innerY = event.clientY-rect.top; this.InsertNewRoom(dashboard, innerX, innerY, event); 虽然这个展开的代码没有添加任何额外的逻辑,但是添加了临时变量innerX和innerY的语句显然比复合参数的语句要易于理解的多。这样代码虽然多了,但是却使代码有了self-documented特性,同时也没有改变代码的逻辑和效率。我相信在debug或者修改别人的代码时,你是希望看到后一种写法的。