第四章:JavaScript基础--对象

一:对象的含义

对象是Js中的引用数据类型,其是一种复合数据类型,在对象中可以保存多个不同数据类型的属性。

使用typeof检查时,返回一个Object

二:对象的操作

(1)创建对象

语法一:

var obj = new Object();

语法二:

var obj = {};

(2)向对象中添加属性

语法一:

对象.属性名 = 属性值;

语法二:

对象["属性名"] = 属性值;

(3)读取对象中的属性

语法一:

对象.属性名

语法二:

对象["属性名"]

 **********如果读取一个对象中没有的属性,它不会报错,而是返回一个undefined

(4)删除对象中的属性

语法一:

delete 对象.属性名

语法二:

delete 对象["属性名"]

(5)使用in检查对象中是否含有指定属性

"属性名" in 对象

 **********如果在对象中含有该属性,则返回true如果没有则返回false

(6)使用对象字面量,在创建对象时直接向对象中添加属性

var obj = {
                            属性名:属性值,
                            属性名:属性值,
                            属性名:属性值,
                            属性名:属性值
                    }

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

(1)基本数据类型
            String Number Boolean Null Undefined

(2)引用数据类型
            Object

注意:

(1)基本的数据类型的数据,变量是直接保存的它的值,变量与变量之间是相互独立的,修改一个变量不会影响其他的变量。

Var a = 123;
Var b = a;
a++;
变量
b123
a124

 当 a=123时,b为123,而存在栈内存的时候相互都是独立的,因此其a增加到124的时候,b不受影响。

(2)引用数据类型的数据,变量是保存的对象的引用(内存地址)。

var obj = new Object();
obj.name = "zhangsan";
var obj2 = obj;
obj.name = "lisi"
变量
obj20x123
obj0x123

在栈内存当中,对象的存储会分配一个内存地址,在堆内存当中分配了同一个内存地址,而obj中所对应的内存地址中的变量为zhangsan,而obj2为同一内存地址,因此新属性lisi会覆盖zhangsan。故,如果多个变量指向的是同一个对象,此时修改一个变量的属性,会影响其他的变量。

(3)比较两个变量时,对于基本数据类型,比较的就是值,对于引用数据类型比较的是地址,地址相同才相同

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值