javascript - 这是局部变量还是全局变量?

标签 javascript variables global local

我是一个使用JS的初学者,现在我正在做一个项目,我必须解释我使用了哪些全局变量和局部变量,我不确定哪些变量是全局变量,哪些变量是局部变量。我知道函数内部存在的变量是局部变量,但我有以下内容:

onload=function(){
    var ctx=document.getElementById("canvas").getContext("2d");
};

我的变量ctx在函数内部吗?我不确定,因为我使用了onload,所以我不知道ctx是全局变量还是局部变量?

最佳答案

您正在将一个函数分配给一个变量(分配给一个变量没有区别,即使未分配该函数,它仍然会创建作用域),这为 ctx 提供了一个函数作用域。匿名函数与命名函数在作用域上没有什么不同

关于javascript - 这是局部变量还是全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24233622/

相关文章:

java - 创建全局对象数组(java)

javascript - 如何按名称从数组中正确删除对象?

javascript - javascript 中无表达式语句的完整形式是什么?

javascript - 想要隐藏密码输入

java - 如何在另一个方法中调用变量?

c++ - 在 C++ 中避免全局变量的好风格

javascript - 将对象数组中的特定属性返回到新对象中

perl - 在 Perl 中迭代 bless 对象

使用 Terraform 中的变量关闭 Azure VM

javascript - 分配给匿名函数的变量未定义