Javascript 通过html按钮创建变量并在外部函数中使用

Javascript 通过html按钮创建变量并在外部函数中使用,javascript,html,global-variables,Javascript,Html,Global Variables,有什么办法使它起作用吗 我读过“let只能在它声明的范围内可用,就像for循环一样,另一方面,“var”可以在循环之外访问 HTML: let create=document.getElementById(“create”); 让add=document.getElementById(“add”); let cart=document.getElementById(“cart”); create.onclick=function(){ var foo=“foo”; console.log(fo

有什么办法使它起作用吗

我读过“let只能在它声明的范围内可用,就像for循环一样,另一方面,“var”可以在循环之外访问

HTML:

let create=document.getElementById(“create”);
让add=document.getElementById(“add”);
let cart=document.getElementById(“cart”);
create.onclick=function(){
var foo=“foo”;
console.log(foo);
}
add.onclick=function(){
cart.innerHTML+=foo;
}

创造
添加到购物车
购物车:

通过传递变量,您可以在
显示
单击事件处理程序函数中附加
添加
的单击事件:

let show=document.getElementById(“show”);
让add=document.getElementById(“add”);
let cart=document.getElementById(“cart”);
show.onclick=function(){
var foo=“foo”;
console.log(foo);
add.addEventListener('click',function(){addToCart(foo);});
}
函数addToCart(f){
cart.innerHTML+=f;
}
Show
添加到购物车

购物车:
如果这是对某事物的直接引用,那么该事物的措辞就糟糕透顶了
var
变量的作用域为其包含函数,
const
let
s的作用域为其包含块您可以在外部声明
foo
,但是如果在单击
show
之前单击
add
,您希望发生什么?(可能只允许在单击
show
后单击
add