zl程序教程

您现在的位置是:首页 >  前端

当前栏目

JavaScript对象的属性和方法4种不同的类型

2023-06-13 09:14:17 时间
第一种类型就是前面所说的私有类型,它的特点是对外界完全不具备访问性,要访问它们,只有通过特定的getter和setter。
第二种类型是动态的公有类型,它的特点是外界可以访问,而且每个对象实例持有一个副本,它们之间不会相互影响。
第三种类型是静态的公有类型,或者通常叫做原型属性,它的特点是每个对象实例共享唯一副本,对它的改写会相互影响。
第四种类型是类属性,它的特点是作为类型的属性而不是对象实例的属性,在没有构造对象时也能够访问,下面通过例子说明这四种属性类型各自的特点和区别:
类型的四种属性
复制代码代码如下:

<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<title>Example21.3</title>
</head>
<body>
<h1id="output"></h1>
<scriptlanguage="javascript"type="text/javascript">
<!--
functiondwn(s)
{
document.write(s+"<br/>");
}
functionmyClass()
{
varp=100;//privateproperty;私有属性
this.x=10;//dynamicpublicproperty动态公有属性
}
myClass.prototype.y=20;//staticpublicpropertyorprototypeproperty原型属性
myClass.z=30;//staticproperty//静态属性
vara=newmyClass();
dwn(a.p);//undefined私有属性对象无法访问到
dwn(a.x);//10公有属性
dwn(a.y);//20公有属性
a.x=20;
a.y=40;
dwn(a.x);//20
dwn(a.y);//40//动态公有属性y覆盖了原型属性y
delete(a.x);
delete(a.y);
dwn(a.x);//undefined动态公有属性x被删除后不存在
dwn(a.y);//20动态公有属性y被删除后还原为原型属性y
dwn(a.z);//undefined类属性无法通过对象访问
dwn(myClass.z);//30类属性应该通过类访问
-->
</script>
</body>
</html>