JavaScript:let-TypeError:for if语句内部的多维数组
我把我在学习HTML、CSS和JavaScript时学到的一些概念放在一起,包括正式的和自主的在线学习。我目前有一个JavaScript问题。这是在我将以下代码块放入if-else语句之后发生的。它似乎正在失去“计数器”的踪迹 错误消息是: TypeError:boxarray[0]未定义 代码笔(带有完整的HTML和CSS)在此处可见: 我的全部代码如下:JavaScript:let-TypeError:for if语句内部的多维数组,javascript,arrays,Javascript,Arrays,我把我在学习HTML、CSS和JavaScript时学到的一些概念放在一起,包括正式的和自主的在线学习。我目前有一个JavaScript问题。这是在我将以下代码块放入if-else语句之后发生的。它似乎正在失去“计数器”的踪迹 错误消息是: TypeError:boxarray[0]未定义 代码笔(带有完整的HTML和CSS)在此处可见: 我的全部代码如下: let计数器; 让html; 设boxarray=[]; var=0; 函数加载(){ html='浮动并清除重新加载!'; 计数器=
let计数器;
让html;
设boxarray=[];
var=0;
函数加载(){
html='浮动并清除重新加载!
';
计数器=1;
对于(i=1;i<10;i++){
//使用模板字符串(es6)
//html=`
//
//`;
使用=
或==
(严格相等)进行比较,而不是=
(赋值)
赋值时,如果与声明不在同一语句中,请不要使用let
,因为这会在块内创建另一个变量,并且不会更新要更改的变量的值
实例:
let计数器;
让html;
设boxarray=[];
var=0;
函数加载(){
html='浮动并清除重新加载!
';
计数器=1;
对于(i=1;i<10;i++){
//使用模板字符串(es6)
//html=`
//
//`;
使用=
或==
(严格相等)进行比较,而不是=
(赋值)
赋值时,如果与声明不在同一语句中,请不要使用let
,因为这会在块内创建另一个变量,并且不会更新要更改的变量的值
实例:
let计数器;
让html;
设boxarray=[];
var=0;
函数加载(){
html='浮动并清除重新加载!
';
计数器=1;
对于(i=1;i<10;i++){
//使用模板字符串(es6)
//html=`
//
//`您的让
在嵌套范围内定义另一个boxarray
,这样外部的boxarray
保持不变。
此外,(reload=0)
始终为false,因为这是一个赋值操作。您希望(reload==0)
检查reload
是否等于0
if(重新加载==0){
//如果条件为真,则要执行的代码块
/*let*/boxarray=[
[计数器,'无']
];
}
您的让
在嵌套范围内定义另一个boxarray
,这样外部的boxarray
保持不变。
此外,(reload=0)
始终为false,因为这是一个赋值操作。您希望(reload==0)
检查reload
是否等于0
if(重新加载==0){
//如果条件为真,则要执行的代码块
/*let*/boxarray=[
[计数器,'无']
];
}
Single=是赋值,您通常应该避免在if
语句中使用它。您当前有if(reload=0)
在您的代码中。重载=0的结果是0,这相当于false。因此该块中的代码永远不会执行。Single=是赋值,您通常应该避免在if
语句中使用它。您当前有if(重载=0)
在代码中。重新加载=0的结果是0,这相当于false。因此该块中的代码永远不会执行。
let boxarray = [
[counter, 'none'] ];
if (reload == 0) {
boxarray = [
[counter, 'none']
];
}