gpt4 book ai didi

javascript - Uncaught ReferenceError : Cannot access 'Class' before initialization

转载 作者:行者123 更新时间:2023-12-05 00:26:38 31 4
gpt4 key购买 nike

我有一点 vanila-js 项目。 Chrome 的控制台给了我标题错误。我的代码结构是这样的:

<script type="module">

import * as THREE from 'https://unpkg.com/three/build/three.module.js';

import { TrackballControls } from 'https://unpkg.com/three/examples/jsm/controls/TrackballControls.js';

var camera, scene, renderer, controls;

init();
animate();

function init() {
//code here
var list_of_objects=generate_first();}

class Color{


constructor() {
this.R=getRandomInt(0,255);
this.G=getRandomInt(0,255);
this.B=getRandomInt(0,255);
this.hex=this.fullColorHex(this.R,this.G,this.B);
}
//rest of code}

function generate_first() {
var list_of_gens=[];
var color=new Color();}

</script>
控制台显示在线: var color=new Color();如何解决?我不知道为什么我有这个问题。
PS:是的,我在堆栈上搜索了其他主题,但这些主题涉及框架或 typescript 。没有人帮助我解决我的错误!这就是我创建该主题的原因。请不要留下缺点或大拇指,但请帮助我。

最佳答案

类,如用 const 声明的变量和 let , 在初始化它们的行运行之前不能被引用。例如,以下是禁止的:

console.log(foo);
const foo = 'foo';
class es 有同样的规则。在这里,您调用 initclass Color 之前线路已运行。解决方法是:
const foo = 'foo';
console.log(foo);
或者,在这种情况下:
class Color {
// ...
}
init(); // only call init once Color has been defined
移动 Color类到顶部,或移动 init()调用脚本的底部,或者以其他方式确保 Color由您调用 init 的时间定义.

关于javascript - Uncaught ReferenceError : Cannot access 'Class' before initialization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65191836/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com