逻辑与逻辑非的妙用

如题,下面语句输出什么?

alert(1&&2);

很多人认为,两个语句都为真,那应该是返回true吧。
尝试一下,你会发现结果是2。

正解:

a()&&b() 如果a()为真,那么则执行b(),并返回b()执行之后的结果;如果a()为假,则返回a的结果

a()||b() 如果a()为假,那么则执行b(),并返回b()执行之后的结果;如果a()为真,则返回a的结果

function initPage() {
    $sound = $(_options.opt_music.music_icon);

    playMusic();

    //前者为true则执行后者
    _options.opt_music.click_music && initClickMusic();

    if (_options.opt_music.music_list) {
    for (var i = 0, length = _options.opt_music.music_list.length; i < length; i++) {
        initOtherMusic(_options.opt_music.music_list[i], i);
    }
    }
}
原文地址:https://www.cnblogs.com/dkplus/p/8327966.html