notDeclaredInsideFunction

notDeclaredInsideFunction

我已经读过许多文章,甚至是SO问题,指出未在函数内部声明的javascript变量被视为全局变量。
内部函数“ no var”将查找作用域链,直到找到变量或命中全局作用域为止(此时将创建该变量):

这是为此的SO链接。

What is the purpose of the var keyword and when to use it (or omit it)?

但是当我考虑执行它时,它立即给我带来了错误。

function foo() {
    // Variable not declared so should belong to global scope
    notDeclaredInsideFunction = "Not declared inside function so treated as local scope";

// Working fine here
    alert(notDeclaredInsideFunction);
}

// Giving error : notDeclaredInsideFunction is undefined
    alert(notDeclaredInsideFunction);


因此,应该在全局范围内对待notDeclaredInsideFunction。但是为什么我收到错误消息,指出未定义notDeclaredInsideFunction
可能是我缺少一些非常简单的东西。

最佳答案

函数已声明,但从未调用过,因此这就是它给出错误的原因。
尝试这个

function foo() {
    notDeclaredInsideFunction = "Not declared inside function so treated as local scope";
    alert(notDeclaredInsideFunction);
}
foo();

alert(notDeclaredInsideFunction);

09-25 16:04