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