js的对象属性的两种访问方式和对象的内存理解

    js对象属性有两种访问方式,代码如下:

      

<html>
<head>
 <script language="javascript">
   function Person() {};
   var p1 = new Person();
   p1.name = "拉拉";
   window.alert(p1.name);
   var al = "na" + "me";
   window.alert(p1[al]);
 </script>
</head>
<body>
</body>
</html>
第二种方式好处在于可以使用字符串拼接,这样可实现属性的动态访问。

js对象初始化的小例子:

<html>
<head>
<script language="javascript">
 function Person(){};
 var a = new Person();
 a.age = 10;
 a.name = "拉拉";
 var b = a;
 b.name = "小赖";
 window.alert(b.age + "b名字:" + b.name + "a名字:" + a.name);
 b = null;
  window.alert(a.age + "a名字:" + a.name);
</script>
</head>
<body> 
</body>
</html>


js中的对象回收机制:初始化一个对象时,对象名放在桟中,它指向堆中存放的内容。在js引擎中会有一个表单,存放堆地址和它被引用的次数,如果次数为0,则被回收。这种方式是被动的,js还提供一种主动释放内存的方式。代码为:

<html>
<head>
<script language="javascript">
 function Person(){};
 var a = new Person();
 a.age = 10;
 a.name = "拉拉";
 var b = a;
 b.name = "小赖";
 window.alert(b.age + "b名字:" + b.name + "a名字:" + a.name);
 b = null;
  window.alert(a.age + "a名字:" + a.name);
</script>
</head>
<body> 
</body>
</html>

delete只是释放对象的属性,不过立即释放,即使还有指向它的对象,也不能访问了,已经被释放掉了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值