几种js中if语句使用优化实例

   一、使用常见的三元操作符

  if (foo) bar(); else baz(); ==> foo?bar():baz();

  if (!foo) bar(); else baz(); ==> foo?baz():bar();

  if (foo) return bar(); else return baz(); ==> return foo?bar():baz();

  对于以上使用三元操作符来优化if语句你肯定不会陌生,或许你经常使用它。

  二、使用and(&&)和or(||)运算符

  if (foo) bar(); ==> foo&&bar();

  if (!foo) bar(); ==> foo||bar();

  老实说,我并没有这样去写过代码,这种写法看到过,但我并没想到在js中实现它。

  三、省略大括号{}

  if (foo) return bar(); else something(); ==> {if(foo)return bar();something()}

  这种写法你我都很熟悉,但我建议在代码优化的时候这样做,或者交给UglifyJS帮你去解决。毕竟少一个大括号,代码的可阅读性并不高。

  写到这里,我想到一个获取HTML元素属性的方法。

  function getAttr(el, attrName){

  var attr = {’for’:’htmlFor’, ’class’:’className’}[attrName] || attrName;

  };

  如果我们不这样写,可能我们需借助于两个if语句来进行处理,而上面的代码不仅简洁有效,而且可阅读性强。

  仔细想想,好些时候我们都能找到解决问题的有效途径,但关键在于我们是否用心去寻找一种更好的途径。

时间: 2024-12-30 11:10:02

几种js中if语句使用优化实例的相关文章

Oracle数据库中SQL语句的优化技巧_oracle

在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.

Node.js中的process.nextTick使用实例

  这篇文章主要介绍了Node.js中的process.nextTick使用实例,nextTick函数有什么用.怎么用.和setTimeout有什么区别呢,本文就讲解了这些知识,需要的朋友可以参考下 我已经不记得是在哪里第一次看到process.nextTick这个玩意的调用了,哦,应该是在nodejs官方的process文档里看到的.当时就不理解这东西是干嘛的了,都已经有setTimeout了,还需要这个函数干嘛.而且从根本上来说,这个函数又是干嘛的?和setTimeout有什么区别? sta

js中if语句的几种优化代码写法_javascript技巧

尽管我还没使用它去做一些尝试性的测试,但从这里可以看到它的确对js作了美化的工作.也许有人认为if语句就那么简单,能优化到什么程度?但是看看以下的几种方式,你也许会改变看法. 一.使用常见的三元操作符 复制代码 代码如下: if (foo) bar(); else baz(); ==> foo?bar():baz(); if (!foo) bar(); else baz(); ==> foo?baz():bar(); if (foo) return bar(); else return baz

MySQL中UPDATE语句使用的实例教程_Mysql

一.UPDATE常见用法首先建立测试环境:   DROP TABLE IF EXISTS t_test; CREATE TABLE t_test ( bs bigint(20) NOT NULL auto_increment, username varchar(20) NOT NULL, password varchar(20) default NULL, remark varchar(200) default NULL, PRIMARY KEY (bs) ) ENGINE=InnoDB AUT

js中setTimeout()与clearTimeout()用法实例浅析

  本文实例分析了js中setTimeout()与clearTimeout()用法.分享给大家供大家参考.具体分析如下: setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. clearTimeout() 方法可取消由 setTimeout() 方法设置的 timeout. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <input type = text id = aaa > <input type = button

python中循环语句while用法实例

  本文实例讲述了python中循环语句while用法.分享给大家供大家参考.具体分析如下: 对于python的while语句,注意其缩进即可. python和其他语言一样也有break和continue,分别用来表示跳出循环和继续循环. ? 1 2 3 4 5 6 7 8 #!/usr/bin/python # Simple while loop a = 0 while a < 15: print a, # 在print a后面加,不换行 if a == 10: print "made

JS中FRAME的操作问题实例分析_javascript技巧

本文实例探讨了JS中FRAME的操作问题,分享给大家供大家参考.具体分析如下: 以上图为例,在这里把frame之间的互相操作简单列为:1变量2方法3页面之间元素的互相获取. 一.  首先从 父(frameABC)------->子(frameA,frameB,frameC) ① 访问变量名name 假如在frameABC中操作那么可以: 复制代码 代码如下: window.frames("frameA").contentWindow.name 或者 复制代码 代码如下: docu

js中setTimeout()与clearTimeout()用法实例浅析_javascript技巧

本文实例分析了js中setTimeout()与clearTimeout()用法.分享给大家供大家参考.具体分析如下: setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. clearTimeout() 方法可取消由 setTimeout() 方法设置的 timeout. <input type = text id = aaa > <input type = button value = stop id = bb onclick = bb()> <scrip

JavaScript中With 语句使用方法实例

内容导读: 有了 With 语句,在存取对象属性和方法时就不用重复指定参考对象,在 With 语句块中,凡是 JavaScript 不识别的属性和方法都和该语句块指定的对象有关.With 语句的语法格式如下所示:      With Object {      Statements      }      对象指明了当语句组中对象缺省时的参考对象,这里我们用较为熟悉的 Document 对象对 With 语句举例.例如 当使用与 Document 对象有关的 write( )或 writeln(