如何 var isComplete = false;下面的功能有效吗?

Posted

技术标签:

【中文标题】如何 var isComplete = false;下面的功能有效吗?【英文标题】:How does var isComplete = false; and the function below work? 【发布时间】:2017-10-04 09:56:39 【问题描述】:
function checkIfComplete() 

        if( isComplete == false ) 
            isComplete = true;
         else 
            place = 'second';
        

    

完整代码:https://jsfiddle.net/35xge501/#&togetherjs=R7bkhAnmFG

函数和变量如何协同工作?例如,它如何知道 if 语句中的 isComplete = true ?

【问题讨论】:

看起来 isComplete 来自包含此函数的更高范围。它可能在外部范围的其他位置设置和操作。然后这个方法只检查变量的值。 isComplete默认设置为false,直接在代码中说明(var isComplete = false)。 不要发布协作链接。 【参考方案1】:

提升是 javascript 将声明移至顶部的默认行为。JavaScript 仅提升声明,而不是初始化。isComplete 变量位于全局范围内,因此可用于函数范围。

【讨论】:

吊装跟这个问题有什么关系? Barmar,正是我的问题

以上是关于如何 var isComplete = false;下面的功能有效吗?的主要内容,如果未能解决你的问题,请参考以下文章

Vue 属性或方法“isCompleted”未在实例上定义,但在渲染期间引用

pushsharp broker 的 iscomplete 属性的目的是啥?

如何使用 Jest 测试 Rxjs 空操作符

java 练习递归isHeap isComplete isBST

存储过程未完成,但 IAsyncResult.IsCompleted 为“真”

如何在 Perl 中使用布尔变量?