功是标量,但功有正负,做功的两个必要因素是力和位移,力是矢量,位移也是矢量,但它们的乘积是标量  比如一个力F沿30度方向产生位移S,那么功就为F*S. 我么可以把力分解为水平方向和竖直方向,位移S也分解为水平和竖直方向,用四边形法则.那么可以算出在水平方向的功为  F*con30*S*cos30  那么竖直方向上的功为F*sin30*S*sin30  如果功是矢量,那么合成两个功,可以得到总功FS*(sqrt(1-2sin30*sin30*con30*con30))  如果功是标量,总功则为两个功的和为：F*con30*S*Con30+F*Sin30*S*sin30=FS(sin30的平方＋con30的平方)＝F*S  跟前面算出的吻合. 综述,功是一个标量. 你说的那种情况下  力跟位移都应该为负才对,都与规定方向相反,受到水平向左的拉力5牛,物体向左移动5m,那么拉力对物体所做的功W=FS=(-5)*(-5)=25J  .这个很好理解的.
功是标量还是矢量?