JS入门:认识对象


前言

关于对象的一些基础知识


一、创建对象

有两种创建对象的方式:

  1. 调用Object()构造函数
  2. 对象字面量(object literal)(推荐使用)

1.调用Object()构造函数

以下演示:创建对象,添加属性,读取属性,修改属性和删除属性

//创建对象obj
var obj = new Object();
//添加name属性
obj.name = "tom";
//读取name属性
console.log(obj.name);
//修改name属性
obj.name = "jerry";
//删除name属性
delete obj.name;
//注意:读取不存在的属性时,不会报错,而是会返回undefined
console.log(obj.name);

2. 对象字面量

//注意:属性是一对名值对,它们之间用逗号隔开
var obj = {
	name: "tom",
	age: 18,
	gender: "male"
};

二、关于属性名和属性值

1.属性名

属性名的命名不强制要求遵守标识符的规范,但是最好按照标识符的规范命名;如果需要使用特殊字符,不能使用.的方式添加属性,

需要使用以下方式:对象[“属性名”] = 属性值;

var obj = new Object();
//添加属性
obj["123"] = 789;
//读取属性
console.log(obj["123"]);//789

还可以创建一个变量,将属性名赋值给变量,这样读取变量就相当于读取相对应的属性

var obj = new Object();
//添加属性
obj["123"] = 789;
//创建一个变量n
n = "123";
//读取属性
console.log(obj[n]);//789

2.属性值

属性值可以是任意数据类型,所以对象里可以存放另一个对象

代码如下(示例):

//创建对象obj
var obj = new Object();
//创建对象obj2
var obj2 = new Object();
//添加属性
obj.test = obj2;
//读取test属性
console.log(obj.test);//{}

对象的属性值也可以是函数,这个函数有一个名字,叫方法(method),实际上,方法就是只能通过对象调用的函数。

var obj = new Object();
obj.sayHello = function(){
	alert("我是sayHello方法~~")
};
obj.sayHello();//我是sayHello方法~~

三、变量、栈内存和堆内存

变量的值分为两种:原始值和引用值 。原始值包含String Number Boolean Null Undefined,引用值包含Object

1.原始值 (primative value)

给一个变量赋值,如果是原始值,保存在栈内存(stack)中

变量
a10
b20

值与值之间是相互独立的

2. 引用值(reference value)

而给一个变量赋值,是个引用值,那么它就在堆内存(heap)中保存,在栈内存中保存一个对象的内存地址,并有一个指针(point)指向这个对象,操作对象是通过操作该对象的引用(reference)而实现


总结

如何创建对象,增、删、改属性,堆内存和栈内存

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值