JS基础:对象

对象的简介

1.内建对象

  • 由ES标准定义的对象,在任何ES标准中都可以使用
  • 比如:Math String Number Boolean Function Object

2.宿主对象

  • 由JS运行环境提供的对象,目前是主要由浏览器提供的对象。比如 BOM DOM

3.自定义对象

  • 由开发人员自己创建的对象。

对象就相当于一个塑料袋,里面装着属性和值构成一个整体

对象的基本操作

1.创建对象

  • 使用new关键字调用的函数,是构造函数constructor
  • 构造函数是专门用来创建对象的函数
var obj = new object();

2.在对象中添加属性和读取属性

var obj = new object();
obj.name = "George";
obj.gender = "男";
obj.age = "23"
console.log(obj.name); //读取

3.修改和删除

obj.name = "tom";  //对象.属性名 = 新值
delete obj.name;  //删除

变量中的属性名和属性值

1.变量名

  • 变量名可以起乱七八糟的东西。如果使用特殊的属性名不能用 . 的方式来操作,需要另一种写法:对象[属性名] = 属性值
  • 读取也需要这种方式。使用 [ ] 这种形式操作属性更加的灵活。[ ] 中也可以传递一个变量,这样变量值是多少就可以读取那个属性。
obj["123"] = 789;
obj["nihao"] = "你好";

var n = "nihao";

console.log(obj["123"]);
console.log(obj[n]);

2.属性值

  • JS对象的属性值可以是任意数据类型
var obj = new object();
obj.test = true;
obj.test = 123;
obj.test = "垃圾";
  • 可以设置对象为另一个对象的属性(套娃)
var obj2 = new Object();
obj2.name = "叔本华";
//将obj2设置为obj属性
obj.test = obj2;
console.log(obj.test); //打印obj2
console.log(obj.test.name);

基本数据类型和引用数据类型

  • 基本数据类型 :String Number Boolean Null Undefined
var a = 132;
var b = a;
a++;

console.log("a = "+a);  //132
console.log("b = "+b);  //133

在这里插入图片描述
理解:基本数据类型保存在栈内存中,一个变量名对应一个值。此时a++只改变a。对b没任何影响

  • 引用数据类型 Object
var obj = new Object();
obj.name = "海明威";

var obj2 = obj;

obj.name = "尼采";
console.log(obj.name);  //尼采
console.log(obj2.name);  //尼采

在这里插入图片描述

理解: 引用数据类型在栈内存中保存的是堆内存地址,当堆内存地址中的变量产生改变,所有指针指向此地址的变量值都会发生改变。

  • 将对象的值设为null,即为断开连接。断开连接不影响其他指向次内存地址的参数。
    在这里插入图片描述

对象字面量 :在创建对象的同时,可以赋值里面的属性

var obj = {}; //此声明方式等于 var obj = new Object();
var obj2 = {
	name:"猪八戒",
	age:25,
	gender:"男",
	test:{name:"沙和尚"}
};

可以声明属性,也可以声明内部对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值