GAME_WIDTH、GAME_HEIGHT 和 gameWidth、gameHeight

问题描述

我正在学习如何使用 Vanilla JS 制作游戏。教师在 GAME_WIDTH,GAME_HEIGHT 使用 index.js;和 gameWidth,gameHeightpaddle.js。当他使用后者时,我看到后者附近有一个解释弹出窗口说当他悬停在GAME_WIDTH,GAME_HEIGHT上时被认为是gameWidth,gameHeight

但是当我尝试将鼠标悬停在 gameWidth,gameHeight 上时;它说any。谁能解释一下区别?

顺便说一下,讲师使用 SandBox,如果这与 VS Code 有任何关系,我使用的是 index.js

import Paddle from './paddle.js'; let canvas = document.getElementById('gameScreen'); let ctx = canvas.getContext('2d'); const GAME_WIDTH = 800; const GAME_HEIGHT = 600; let paddle = new Paddle(GAME_WIDTH,GAME_HEIGHT);

paddle.js

export default class Paddle { constructor(gameWidth,gameHeight) { this.gameWidth = gameWidth; this.width = 150; this.height = 20; this.maxSpeed = 7; this.speed = 0; this.position = { x: gameWidth - 100 - this.width - 100,y: gameHeight - this.height - 10,}; }

{{1}}

解决方法

大写常量 (GAME_WIDTH) 是存在于全局范围内的实际数据容器。 驼峰式变量是函数参数,只存在于函数的生命周期内。

脚本首先将常量设置为默认值。 然后它使用它们来启动 Paddle 的构造函数。但他真的可以向那个构造函数发送任何数字。 因此,在这种用法之外,常量和变量之间没有关系(afaics)

编辑:他们在导师编辑器中的关系很可能是该编辑器的一个功能。