函数不适用于全局变量。应该期待吗?

Posted

技术标签:

【中文标题】函数不适用于全局变量。应该期待吗?【英文标题】:Function isn't working with a gobal variable. Should it be expected? 【发布时间】:2022-01-20 12:07:48 【问题描述】:

正如标题所说,如果它是全局的,我不能在我的函数上使用变量“countDash”,只能在本地使用。应该是这样吗?

我错过了什么?提前致谢。

//count
let countEl = document.getElementById("count-el");
let saveEl = document.getElementById("save-el");
let count = 0;

//message to user
let username = "Mr. Unknown";
let message = "You have three new notifications";
let messageToUser = `$message, $username!`;

//welcome message
let welcomeEl = document.getElementById("welcome-el");
let name = "Eduardo";
let greeting = "Welcome back";
welcomeEl.innerhtml = `$greeting, $name!`;

function increment() 
    count += 1;
    countEl.innerHTML = count;


// let countDash = ` $count -`; //does not work
function save() 
    let countDash = ` $count -`; //it only works if I have it here localy
    saveEl.innerHTML += countDash;

【问题讨论】:

“不起作用”究竟是什么意思?有什么事吗?是否报告错误? 您应该添加更多详细信息 【参考方案1】:

当您在全局范围内声明 CountDash 时,代码仅运行一次,因此 CountDash 使用值“0 -”进行初始化。因此,即使您在增量函数中更新计数,countDash 也不会更新。如果您出于某种原因想将 countDash 保留为全局变量(尽管我们应该尽可能减少全局变量的使用),您可以在增量函数中更新 count 后更新它:)

【讨论】:

以上是关于函数不适用于全局变量。应该期待吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据Optionmenu选择通过函数修改全局变量

性能:我应该在经常调用的函数中使用全局变量吗?

var 是我们声明全局变量和函数的唯一选择吗? [关闭]

lua脚本有静态局部变量吗

Python函数全局变量?

C++ 怎么定义一个全局函数,能够在一个工程的所有文件中使用!