javascript连续写法

javascript 是一种函式语言, 使用 if else  switch 会牺牲效率,让我们来写一些没有if else 的 分支语句

var a = 1, b = 0 , c=”;

a && ( c+=’ok’);
// 等效于
if (a) {
c+=’ok’;
}

b || (b = 2);
// 等效于
if (!b) {
b=2;
}

// 使用逗号表达式
a ? (
(c= ‘yes’),
(b = 1)
) : (
(c = ‘no’),
(b = 2)
)

// 等效于
if (a) {
c = ‘yes’;
b = 1;
} else {
c = ‘no’;
b = 2;
}

(a = window.getElementById(‘c’)) && (a.style.display = ‘none’);
// 等效于
if (a = window.getElementById(‘c’))
{
a.style.display = ‘none’;
}
// 等效于
(a = window.getElementById(‘c’)) ? (a.style.display = ‘none’) : ”;

return a.nodeType !=3
?  a.tagName
:   a.setIntval
? ‘window’
:  ‘other’;
// 等效于
if (a.nodeType != 3)
{
return a.tagName
} else if (a.setIntval) {
return ‘window’;
} else {
return ‘other’;
}

相关文章

发表评论

返回顶部