对由' let'创建的变量使用吊装在JavaScript中?

时间:2018-03-29 21:38:32

标签: javascript

我正在学习JavaScript。我理解由' let'创建的变量。被挂起(作为由' var'创建的变量),但是由于时间死区,控制命中初始化语句之前不能使用这些变量。如果我们不能使用变量,那么需要提升这些变量是什么?

1 个答案:

答案 0 :(得分:2)

没有必要提升它,这只是需要注意的事情。

如果你有,作为一个荒谬的例子:

#include <iostream>
#include <string>

using namespace std; 

int main()
{
    string s;

    cout << "Please input the desired string : \n";
    cin >> s;

    size_t sz = s.length();
    size_t x = sz / 2;

    if ((sz % 2) != 0)
    {
        s.erase(x, 1);
    }
    else
    {
        s.erase(x-1, 2); // or (x-1, 1)? What do you want to erase exactly?
    }

    sz = s.length();

    for (int j = 0; j < sz; ++j)
    {
        cout << s[j];
    }    

    return 0;
}

你只需要能够意识到,“哦,即使函数外面有一个x,因为函数内部有一个var x = 10; function if_x_is_10() { if (x === 10) { console.log('It was 10!'); } let x = 10; console.log('Now it is 10!'); } if_x_is_10(); // Uncaught ReferenceError: x is not defined ,我无法访问x直到我超过该行,我无法访问函数内部的let x。“