Javascript常用小技巧汇总

本文实例讲述了Javascript常用小技巧。分享给大家供大家参考。具体分析如下:

  一、True 和 False 布尔表达式

  下面的布尔表达式都返回 false:

  null

  undefined

  '' 空字符串

  0 数字0

  但小心下面的, 可都返回 true:

  '0' 字符串0

  [] 空数组

  {} 空对象

  下面段比较糟糕的代码:

   代码如下:

  while (x != null) {

  你可以直接写成下面的形式(只要你希望 x 不是 0 和空字符串, 和 false):

   代码如下:

  while (x) {

  如果你想检查字符串是否为 null 或空:

   代码如下:

  if (y != null && y != '') {

  但这样会更好:

   代码如下:

  if (y) {

  注意: 还有很多需要注意的地方, 如:

  Boolean('0') == true

  '0' != true

  0 != null

  0 == []

  0 == false

  Boolean(null) ==false

  null != true

  null != false

  Boolean(undefined) ==false

  undefined != true

  undefined != false

  Boolean([]) == true

  [] != true

  [] == false

  Boolean({}) == true

  {} != true

  {} != false

  二、条件(三元)操作符 (?:)

  三元操作符用于替代下面的代码:

  ?

1 2 3 4 5 if (val != 0) { return foo(); } else { return bar(); }

  你可以写成:

   代码如下:

  return val ? foo() : bar();

  在生成 HTML 代码时也是很有用的:

   代码如下:

  var html = '';

  三、&& 和 ||

  二元布尔操作符是可短路的, 只有在必要时才会计算到最后一项.

  "||" 被称作为 'default' 操作符, 因为可以这样:

  ?

1 2 3 4 5 6 7 8 9 function foo(opt_win) { var win; if (opt_win) { win = opt_win; } else { win = window; } // ... }

  你可以使用它来简化上面的代码:

  ?

1 2 3 4 function foo(opt_域名交易win) { var win = opt_win || window; // ... }

  "&&" 也可简短代码.比如:

  ?

1 2 3 4 5 6 7 if (node) { if (node.kids) { if (node.kids[index]) { foo(node.kids[index]); } } }

你可能感兴趣的:(javascript)