我正在学习如何使用Vanilla JS制作游戏。教师在index.js上使用GAME_WIDTH, GAME_HEIGHT;在paddle.js上使用gameWidth, gameHeight。当他使用后者时,我看到在后者旁边弹出了一个解释,说当他将鼠标悬停在gameWidth, gameHeight上时,它被认为是GAME_WIDTH, GAME_HEIGHT。
但是当我试图将鼠标悬停在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,
};
}发布于 2021-06-12 03:15:00
大写常量(GAME_WIDTH)是存在于全局范围内的实际数据容器。camel-case变量是函数参数,并且只在函数的生命周期内有效。
脚本首先将常量设置为默认值。然后,它使用它们来初始化Paddle的构造函数。但他可以将任何数字发送给该构造函数。因此,在这个用法之外的常量和变量之间没有关系(afaics)
编辑:在您的讲师编辑器中它们之间的关系很可能是该编辑器的一个功能。
https://stackoverflow.com/questions/67942345
复制相似问题