JavaScript学习笔记—对象

  • 属性
    • 对象中可以存储多个各种类型的数据,对象中存储的数据成为属性
    • 添加属性或修改属性值:对象.属性名 = 属性值
    • 读取属性:对象.属性名,如果读取对象中没有的属性返回undefined
    • 删除属性:delete 对象.属性名
let obj = Object();
obj.name = "孙悟空";
obj.age = 18;
obj.gender = "男";
// 修改属性
obj.name = "Tom sun";
// 删除属性
delete obj.name;
console.log(obj.name); // undefined
  • 字面量
    • 直接使用{}创建对象
    • 使用{}创建的对象可以直接向对象中添加属性
    • 语法:
      {
      属性名:属性值,
      [属性名]:属性值,
      ......
      }
let mySymbol = Symbol();
let obj = {
name: "孙悟空",
age: 18,
["gender"]: "男",
[mySymbol]: "特殊的属性",
// 对象
hello: {
a: 1,
b: true
},
// 函数(方法)
sayHello: function(){
alert("hello");
}
};
  • 枚举属性
    • 枚举属性,指将对象中的所有的属性全部获取
    • for-in语句,语法:
      for(let propName in 对象){
        语句......
      }
    • 有几个属性就会执行几次,每次执行时,都会将一个属性名赋值给我们所定义的变量

注意:并不是所有的属性都可以枚举,比如:使用符号添加的属性

let obj = {
name:"孙悟空",
age:18,
gender:"男",
address:"花果山",
[Symbol()]:"测试的属性" // 符号添加的属性是不能枚举的
};
for(let propName in obj){
console.log(propName, obj[propName]);
}
  • 可变类型
    • 对象属于可变类型
    • 对象创建完后,可以任意添加删除修改对象中的属性
    • 两个对象进行相等或全等比较时,比较的是对象的内存地址
    • 两个变量指向同一个对象时,通过一个变量修改对象时,对另外一个变量也会产生影响
let obj = Object();
obj.name = "孙悟空";
obj.age = 18;
let obj2 = obj;
obj2.name = "猪八戒";
console.log(obj.name); // 猪八戒
posted @   程序员张3  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示