1.内联Javascript–嵌入在HTML文件中的Javascript代码是无法包含在外部单元测试工具中的。2.无法复用的代码–即使Javascript代码单独放在外面,也没有提供公共的接口供其他人调用。3.没有构造函数/原型对象–个人的单元测试就意味着独立的操作。测试一个单例是很困难的,因为一个测试的结果可能会影响到其他测试的结果。4.金字塔厄运–深层的嵌套在Javascript开发中非常多见,但是他们是让人各种担忧的抓狂的东西。深层嵌套在内部的代码逻辑是很难进行单独测试的,并且随着时间的推移,会有变得像意大利面条式的难以维护的倾向。5.拙劣的DOM事件处理程序–事件处