小熊奶糖(BearCandy)
小熊奶糖(BearCandy)
发布于 2024-02-24 / 8 阅读
0
0

JavaScript 对象(Object)的补充

JavaScript 对象(Object)的补充

前面说了内存储存方式那如果用const储存而不是用let储存呢?

const c={
  name:"小白",
  age:25
};
c.name ="小黑";
console.log(c);
结果为{name:"小黑",age:25}

const按理说不能修改的这是为什么呢?

还记得上次讲解的内存分配吗?

屏幕截图 2024-02-24 131941.png

实际上const和let只针对栈内存,意味着堆内存在栈内存对应的的地址不可修改了,但是堆内存里面可以修改。

const定义后栈内存无法修改

在对象中使用全局变量

//以下代码const可换成let
const name = "小白";
const age = 25;
const c ={
    name,
    age
};
alert(`${c.name},${age}`);
结果为小白,25

取得对象中的值赋值给函数的简写(弊端不能修改变量的名称,变量的名称对应的是属性)

//以下代码均可将const换成let
const c ={
    name:"小白",
    age:25
};
const name = c.name;
const age = c.age;
alert(`${c.name},${age}`);
//这样写是不是很麻烦
//可以这样简写
const {name,age} = c;
//和最开始执行的代码效果是一样的


对象中函数的简写方式

const c ={
    name:"小白",
    age:25
    hello: function hello(){
     console.log("你好");
},
};
c.hello();
可以简写为
const c ={
    name:"小白",
    age:25
    hello(){
     console.log("你好");
},
};
c.hello();
//结果是一样的

评论