为什么在没有return语句的情况下该函数可以工作

时间:2019-04-15 18:45:10

标签: javascript function

此代码用于创建掷骰子游戏。

function nextPlayer() {
    roundScore = 0;
    document.getElementById('current-' + activePlayer).textContent = '0';

    activePlayer === 0? activePlayer = 1: activePlayer = 0; 
    document.querySelector('.player-0-panel').classList.toggle('active');
    document.querySelector('.player-1-panel').classList.toggle('active');
    document.querySelector('.dice').style.display = 'none';
};

2 个答案:

答案 0 :(得分:0)

  

要返回默认值以外的其他值,函数必须具有一个return语句,该语句指定要返回的值。 没有return语句的函数将返回默认值。对于使用new关键字调用的构造函数,默认值为其this参数的值。对于所有其他功能,默认返回值是不确定的

来自Documentation(重点是我)。

简而言之,您可以想象该函数实际上是这样写的:

function nextPlayer() {
    [...]
    return undefined;
};

请注意,这也等同于return无值:

function nextPlayer() {
    [...]
    return;
};

答案 1 :(得分:0)

不需要返回任何内容,因为它直接修改了对象。 getElementById的函数querySelectordocument返回对不同对象的引用。

JavaScript语法并不要求return语句(如C那样),因此您可以随意将其省略。

相关问题