本文实例讲述了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]); } } }