gpt4 book ai didi

javascript - JavaScript 中的函数作用域

转载 作者:行者123 更新时间:2023-11-28 11:39:19 25 4
gpt4 key购买 nike

我认为 javascript 中函数的要点之一是提供作用域。函数中定义的内容仅在函数内部可用。

function cat(name) {
talk = function() {
alert(" say meeow!" )
}
}

talk()

我希望上面的代码会失败,因为谈话不应该是可见的。但确实如此,为什么?

最佳答案

这是因为您没有使用 var 关键字声明它。

如果不使用var关键字,它将在全局范围内。如果您确实使用 var,它将在函数范围内:

function cat(name) {
//anonymous function assigned to the local variable talk
var talk = function() {
alert(" say meeow!" )
};
}

您可以在不使用 var 关键字的情况下声明命名函数,并且它们仍将位于本地范围内:

function cat(name) {
//local talk function
function talk() {
alert(" say meeow!" )
};
}

关于javascript - JavaScript 中的函数作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9745434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com