变量不能改变 js
时间: 2023-08-04 19:09:15 浏览: 42
在 JavaScript 中,变量的值是可以改变的。例如,你可以将一个变量的值从一个字符串改变为一个数字,或者从一个布尔值改变为另一个布尔值。这是因为 JavaScript 是一种动态类型语言,变量的类型可以在运行时改变。但是,如果你使用 `const` 声明一个常量,它的值就不能被改变。例如:
```
const pi = 3.14;
pi = 3; // 这里会抛出一个错误,因为常量的值不能被改变
```
另外,如果你使用 `Object.freeze()` 冻结一个对象,它的属性也就不能被改变了。例如:
```
const obj = {a: 1, b: 2};
Object.freeze(obj);
obj.a = 3; // 这里不会改变 obj.a 的值,因为 obj 已经被冻结了
```
相关问题
js改变css变量
在JavaScript中,可以使用`document.documentElement.style.setProperty()`方法来改变CSS变量的值。具体使用方法如下:
```javascript
// 获取CSS变量
var root = document.documentElement;
var color = root.style.getPropertyValue('--main-color');
// 改变CSS变量
root.style.setProperty('--main-color', 'red');
```
这段代码中,我们首先使用`getPropertyValue()`方法获取了名为`--main-color`的CSS变量的值,并将其保存在变量`color`中。然后,我们使用`setProperty()`方法将该CSS变量的值改为了红色。最终结果会立即生效。注意,在设置CSS变量时,需要在变量名前加上`--`前缀。
js全局变量在函数里改变值
当你在函数内声明一个未使用 `var`、`let` 或 `const` 关键字声明的变量时,它将成为全局变量。这意味着如果你在函数内更改该变量的值,它将影响到全局作用域中的变量。
例如:
```javascript
var globalVar = "Hello";
function changeGlobalVar() {
globalVar = "World";
}
console.log(globalVar); // 输出: "Hello"
changeGlobalVar();
console.log(globalVar); // 输出: "World"
```
在这个例子中,我们在全局作用域中声明了一个 `globalVar` 变量并将其赋值为 "Hello"。然后我们定义了一个函数 `changeGlobalVar`,它将 `globalVar` 的值更改为 "World"。当我们调用 `changeGlobalVar` 函数时,它会更改全局作用域中的 `globalVar` 变量,因此第二个 `console.log` 语句输出的是 "World"。