书写出高质量的JS代码不仅让程序员看着舒服,更加能够提高程序的运行速度,以下就是黑区网络的小编整理方法:
一、如何书写可维护性的代码
当出现bug的时候如果你能立马修复它是最好的,此时解决问题的四路在你脑中还是很清晰的。否则,你转移到其他任务或者bug是经过一定的时间才出现的,你忘了那个特定的代码,一段时间后再去查看这些代码就 需要:
1.花时间学习和理解这个问题 2.化时间是了解应该解决的问题代码
还有个问题,特别对于大的项目或是公司,修复bug的这位伙计不是写代码的那个人(且发现bug和修复bug的不是同一个人)。因此,必须降低理解代 码花费的时间,无论是一段时间前你自己写的代码还是团队中的其他成员写的代码。这关系到底线(营业收入)和开发人员的幸福,因为我们更应该去开发新的激动 人心的事物而不是花几小时几天的时间去维护遗留代码。所以创建可维护性代码是至关重要的,一般可维护性的代码有以下几个原则:
可读性
一致性
可预测性
看上去就像同一个人写的
已记录
二、全局变量的问题
全局变量的问题在于,你的JavaScript应用程序和web页面上的所有代码都共享了这些全局变量,他们住在同一个全局命名空间,所以当程序的两个不同部分定义同名但不同作用的全局变量的时候,命名冲突在所难免。web页面包含不是该页面开发者所写的代码也是比较常见的,例如:
第三方的JavaScript库
广告方的脚本代码
第三方用户跟踪和分析脚本代码
不同类型的小组件,标志和按钮
例如说,该第三方脚本定义了一个全局变量,叫做A;接着,在你的函数中也定义一个名为A的全局变量。其结果就是后面的变量覆盖前面的,第三方脚本就一下子失效啦!而且很难debug出来。
因此:尽可能少的使用全局变量是很重要的,例如命名空间模式或是函数立即自动执行,但是要想让全局变量少最重要的还是始终使用var来声明变量。
三、忘记var作用的副作用
隐式全局变量和明确定义的全局变量间有些小的差异,就是通过delete操作符让变量未定义的能力。具体如下:
通过var创建的全局变量(任何函数之外的程序中创建)是不能被删除的。
没有通过var创建的隐式全局变量(无视是否在函数中创建)是能被删除的。
所以隐式全局变量并不是真正的全局变量,但它们是全局对象的属性。属性是可以通过delete操作符删除的,而变量是不能的,具体代码我就不写了。