cus*_*ice 0 javascript conditional-statements
我有这个疯狂的条件,我只知道有更好的写作方式.这是伪代码:
if( A && B ){
console.log( 'do not show' );
}
if( A && C ){
console.log( 'show' );
}
if( A && D ){
console.log( 'do not show' );
}
if( A && E ) {
console.log( 'do not show' );
}
Run Code Online (Sandbox Code Playgroud)
我真的很沮丧.
这个怎么样:
if (A) {
if (B || D || E) {
console.log( 'do not show' );
}
if ( C ) {
console.log( 'show' );
}
}
Run Code Online (Sandbox Code Playgroud)
如果你真的想为每个条件指定单独的任务,那么你可以使用它,但是如果你的任务只是上面的代码,那就太复杂了.
var A = C = true;
var B = D = E = false;
function doWhen( cond, fn ) {
if ( cond === true ) {
return ( typeof fn === 'function' ? fn() : fn );
}
return undefined;
}
doWhen(A, function() {
[ [B, function() { console.log('b message') }],
[C, function() { console.log('c message') }],
[D, function() { console.log('d message') }],
[E, function() { console.log('e message') }] ]
.forEach(function(cond) {
doWhen.apply(null, cond);
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |