Javascript getContext的JS问题(';2d';)

Javascript getContext的JS问题(';2d';),javascript,html,css,Javascript,Html,Css,最近我在canvas.getContext('2d')方法中遇到了一些问题。我试图在全局范围中将它声明为let,但声明为空,并在常量中初始化它。但我不能在那个常数之外叫它。 我记得那在很久以前就起作用了,我的代码有什么变化或问题吗 谢谢你的回答 (()=>{ 请求; 让画布; 让ctx; const start=document.getElementById(“start”); const menu=document.getElementById(“开始菜单”); 常量init=()=>{ c

最近我在canvas.getContext('2d')方法中遇到了一些问题。我试图在全局范围中将它声明为let,但声明为空,并在常量中初始化它。但我不能在那个常数之外叫它。 我记得那在很久以前就起作用了,我的代码有什么变化或问题吗

谢谢你的回答

(()=>{
请求;
让画布;
让ctx;
const start=document.getElementById(“start”);
const menu=document.getElementById(“开始菜单”);
常量init=()=>{
canvas=document.createElement('canvas');
canvas.width=window.screen.availWidth-(window.outerWidth-window.innerWidth+20);
canvas.height=window.screen.availHeight-(window.outerHeight-window.innerHeight+20);
canvas.id=“动画面板”;
ctx=canvas.getContext('2d');
document.body.appendChild(画布);
}
常量动画=()=>{
请求=请求动画帧(动画);
draw();
}  
常量绘图=()=>{
var-playerPosX=50;
var-playerPosY=50;
//我想给ctx打电话
}
init();
start.addEventListener(“单击”,()=>{
menu.style.display=“无”;
制作动画();
})
})()
*{
字体系列:Arial、Helvetica、无衬线字体;
}
身体{
背景色:白色;
溢出:隐藏;
}
#动画面板{
边框:2件纯黑;
}
#开始菜单{
位置:绝对位置;
左:50%;
最高:50%;
转换:翻译(-50%,-50%);
边框:3倍纯黑;
填充:50px 150px 50px 150px;
背景色:#A758DB;
显示:真;
}
#高分{
文本对齐:居中;
字号:18px;
}
#开始{
字母间距:5px;
字体大小:60px;
背景色:#A758DB;
边框:3倍纯黑;
颜色:黑色;
文字装饰:无;
}
#开始:悬停{
边框:3倍纯白;
颜色:白色;
}

开始

您的高分:0


您不能在init之后更改
常量
值(不包括更改对象的属性)。 在您的示例中,所有这些都可以正常工作,并且在您“想要调用ctx”的地方可以使用ctx。对不起,如果我误解了这个问题

常数a=1;

a=2;//未捕获类型错误:分配给常量变量。
所以我的问题是Visual Studio代码。Intellisense只是没有显示我代码的完整性。我可能会转而使用Web Storm进行Web开发。

是的,我刚刚发现它是可行的。这是VC Intellisense的一个问题,只是没有表现出来。有时候我真的很讨厌看网络风暴。开发环境很好。特别是如果web开发是您的主要专长。@如果这个答案不能解决您的问题,请不要接受它。您的问题不是由const的使用引起的,而是由与此答案完全无关的外部问题引起的。如果你希望自己能回答,那就更好了,甚至你可以删除你的问题,因为面对同样问题的其他人不太可能从搜索引擎中找到这个问题。