var申明的变量不能在html使用吗

img


各位uu们好,我想问一下用var声明一个变量为什么不能在js里面使用,如果是实在不能使用的话应该怎么把这个简单代码达到理想的效果

在JavaScript中,使用var关键字声明的变量会被提升到其所在作用域的顶部。这就是所谓的变量提升。变量提升的结果是,无论你在代码的哪个位置声明变量,都可以在声明之前使用该变量。
例如,以下代码可以正常运行:

console.log(name);
var name = "Tom";

在这个例子中,变量name在声明之前被使用,但是由于变量提升,它会被解释为:

var name;
console.log(name);
name = "Tom";

然而,如果在声明变量之前使用let或const关键字声明变量,就会出现“暂时性死区”的问题。这意味着,在变量声明之前尝试访问该变量会导致一个ReferenceError错误。
因此,如果你在使用var声明一个变量之前尝试访问该变量,它的值将是undefined。这可能会导致代码中出现错误,并且可能会导致代码的行为变得不可预测。
总之,为了避免变量提升和“暂时性死区”的问题,建议在使用变量之前先声明变量。此外,建议使用let或const关键字声明变量,而不是使用var关键字。

1.截图中的写法是错误的,script是写代码逻辑的,如果想要把值输出在dom中,需要如下写法:
在script中使用document.getElementById("id").innerHTML = "XXXX";
或者document.querySelector("#id或者.class").innerHTML = "XXXX";

2.示例如下:

// 标签id(唯一)和class二选一
<td class="demo-class" id="demo-id"></td>

// script中
document.querySelector("#demo-id").innerHTML = "XXXX"; // 或者,这两个二选一
document.querySelector(".demo-class").innerHTML = "XXXX";

// 或者
document.getElementById("demo-id").innerHTML = "XXXX";