【问题标题】:How to access the value of invoked function in switch statemant如何在switch语句中访问调用函数的值
【发布时间】:2021-09-27 21:47:59
【问题描述】:

考虑以下代码:

switch (doSomething()) {
    case "1":
        return 1;
    case "2":
        return 2;
    default:
        console.log(RETURNED_VALUE); // I want here to access the value returned from doSomething
}

我想打印从 doSomething 返回的值,而不是先将其存储在变量中。是否可以? (类似于this
谢谢

【问题讨论】:

  • 不。您需要将其放入变量或参数中。
  • 您的“this”链接不正确。
  • @cansu 不是链接,他指的是方法中使用的this关键字。
  • switch (RETURNED_VALUE = doSomething())
  • 这将是一个不错的功能,但我不知道有任何语言提供它。

标签: javascript switch-statement


【解决方案1】:

晚安!

Switch 是一个条件结构,类似于 if 或三元运算符。它只是一组指令,而不是在内存中分配的对象。因此,您不能在其中包含“this”功能。但是,如果您不想长时间存储变量,则可以将开关包装在一个函数中,如下所示:

function switchDebug () {
    let value = doSomething(); 
    switch (value) {
        case "1":
            return 1;
        case "2":
            return 2;
        default:
            console.log(value);
    }
}

这样,变量在函数使用后会被清理掉,因为它是函数的局部作用域变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 2016-06-28
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    相关资源
    最近更新 更多