代码执行效率对于程序员和程序来说都是至关重要的, 尤其是遇到了那些需要大量调用, 反复调用的函数方法. 在很多 JavaScript 框架里你都能看到有反复调用的函数. 当在使用这些框架时, 我们必须小心翼翼的尽量采取优化的代码编写. 其中一种优化代码的方法就是在创建函数前先使用判断语句, 而不是每次函数调用时都执行一次. 下面我们来看一个简单的例子.
不好的写法
下面的写法相对而言不是那么优化和有效率:
- function something() {
- if('something' in obj) {
- // something
- }
- else {
- // fallback
- }
- }
上面的代码不是很高效的原因是, 每次函数调用时, 判断条件都要执行一次. 让我们改进它一下:
优化的代码
与其每次函数调用都要执行判断条件, 不如先执行判断语句, 然后创建函数:
- var something = ('something' in obj) ? function() {
- // something
- } : function() {
- // fallback
- };
这种模式用在对浏览器是否具备某种特征功能判断时尤其有效, 因为判断的目标特征不可能随后发生变化. 虽然这种判断语句的执行速度很快, 你也没有理由重复执行它们多次, 总之, 养成好的编码习惯, 不要重复的代码!
来源: http://www.webhek.com/post/feature-detection-function-efficiency-javascript.html