当函数在 Javascript 中将其设置为 true 时,布尔值返回 false

Bool value returns false when the function set it to true in Javascript

本文关键字:true 布尔值 false 返回 设置 函数 Javascript      更新时间:2023-09-26

>我遇到了这个问题,在文档中创建了一个音频播放器,并创建了一个用于播放为 false 的 var,但每次函数似乎都被正确调用,但没有将该变量设置为 true:代码是这个函数是从单击侦听器调用的。

var cartSongPlayer = new Audio();
var playingStatus = false;
var playingTrack;
function switchTrack(trackID, trackSource) {
    //logging basic information:
    console.log('Current Track ID ' + trackID)
    console.log('Current Track Source ' + trackSource)
    console.log('Previous Track ID ' + playingTrack)
    console.log('Playing Status ' + playingStatus)
    if (playingStatus) {
        console.log('song is playing')
        if (trackID == playingTrack) {
            playingStatus == false;
            console.log('pausing current song')
            cartSongPlayer.pause();
        } else {
            console.log('moved to new song')
            playingStatus == true;
            playingTrack = trackID
            cartSongPlayer.src = trackSource;
            cartSongPlayer.play();
        }
    //no song is playing
    } else {
        console.log('song is not playing')
        if (trackID == playingTrack) {
            playingStatus == true;
            console.log('resumed song')
            cartSongPlayer.play();
        } else {
            console.log('started new song')
            playingStatus == true;
            playingTrack = trackID
            cartSongPlayer.src = trackSource;
            cartSongPlayer.play();
        }
    }
}

您似乎错误地使用了==比较运算符,而不是=赋值运算符。

改变

playingStatus == true;

playingStatus = true;

您永远不会更改 playingStatus 的值。

== 是相等运算符,而不是赋值运算符(=)。