`
edison87915
  • 浏览: 199490 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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

 
阅读更多
详细出处参考:http://www.jb51.net/article/22646.htm

第一种类型就是前面所说的私有类型,它的特点是对外界完全不具备访问性,要访问它们,只有通过特定的getter和setter。
第二种类型是动态的公有类型,它的特点是外界可以访问,而且每个对象实例持有一个副本,它们之间不会相互影响。
第三种类型是静态的公有类型,或者通常叫做原型属性,它的特点是每个对象实例共享唯一副本,对它的改写会相互影响。
第四种类型是类属性,它的特点是作为类型的属性而不是对象实例的属性,在没有构造对象时也能够访问,下面通过例子说明这四种属性类型各自的特点和区别:
类型的四种属性
复制代码 代码如下:
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>Example 21.3</title> 
</head> 
<body> 
<h1 id="output"></h1> 
<script language="javascript" type="text/javascript"> 
<!-- 
function dwn(s) 
{ 
document.write(s + "<br/>"); 
} 
function myClass() 
{ 
var p = 100; //private property; 私有属性 
this.x = 10; //dynamic public property 动态公有属性 
} 
myClass.prototype.y = 20; //static public property or prototype property 原型属性-各实例共享,调用方式->实例.y 
myClass.z = 30; //static property //静态(类)属性,调用方式->类.z
var a = new myClass(); 
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> 
分享到:
评论

相关推荐

    检查控制台中的JavaScript对象方法和属性

    在JavaScript中,原型链(prototype chain)使得对象可以继承其他对象的属性和方法。要检查对象的原型,可以使用`__proto__`属性,或者`Object.getPrototypeOf(obj)`方法。例如,`console.log(obj.__proto__)`会显示...

    浅析JavaScript中的类型和对象

    对象(Object)则是一种复合类型,是一种包含键值对(属性和方法)的集合。对象可以包含数据(称为属性)和行为(称为方法)。 .prototype属性在JavaScript中扮演了重要角色。它允许为对象添加新属性和方法。我们...

    javascript对象参考手册

    首先,手册的前几章会介绍JavaScript对象的基础知识,包括对象的创建、属性和方法的定义,以及对象与数据类型的关联。JavaScript中的对象是基于原型的,这意味着它们可以通过原型链共享属性和方法。此外,还会讲解...

    js对象属性大全下载

    在深入探讨JavaScript对象属性之前,我们首先需要理解JavaScript是一种广泛应用于网页开发的编程语言,它能够使网页变得动态、交互性更强。JavaScript中的对象是其核心特性之一,几乎所有的数据和功能都可以通过对象...

    javascript对象转换成json

    在这个例子中,即使`Person`对象有其他非基本类型的属性,`toJSON()`方法仅返回`name`和`age`,所以这些是唯一被序列化的属性。 总结来说,JavaScript中的JSON转换是通过`JSON.stringify()`方法实现的,它可以方便...

    Javascript面向对象编程.

    面向对象编程(Object-Oriented Programming,OOP)是编程的一种重要范式,JavaScript也完全支持这一特性,尽管它并非一种传统的静态类型语言。这篇博客文章可能详细讨论了如何在JavaScript中实现面向对象编程。 在...

    JavaScript面向对象的支持

    通过原型链,对象可以访问并继承其构造函数原型上的属性和方法。 2. **函数作为一等公民**: 在JavaScript中,函数不仅是可调用的数据类型,还可以作为其他数据类型的成员。函数可以被赋值给变量、作为参数传递,...

    JavaScript中判断对象类型的几种方法总结

    每个JavaScript对象都有一个`constructor`属性,它指向创建该对象的构造函数。这可以用来判断未知对象的类型。例如,通过比较`arr.constructor === Array`,可以确定`arr`是否为数组。然而,`constructor`属性在...

    JavaScript核心对象参考手册

    2. **对象创建与原型Prototype**: JavaScript使用`new`关键字创建对象实例,原型链允许对象间共享属性和方法,`__proto__`或`prototype`属性是理解这一机制的关键。 3. **函数对象Function**: 在JavaScript中,函数...

    面向对象JavaScript开发

    JavaScript中的多态主要体现在函数调用上,同一个函数可以接收不同类型或不同结构的对象作为参数,根据参数的类型和属性执行不同的操作。 6. **封装**:封装是面向对象的重要特性,它隐藏对象的内部细节,只暴露...

    深入浅出JavaScript对象模型

    这意味着在JavaScript中,对象被视为存储数据的一种大型数组形式,其中每个对象都有一个属性列表,包含该对象的所有属性(attributes)和方法(methods)。简而言之,可以将JavaScript对象视为一个包含键值对的容器...

    面向对象javascript

    prototype链是一种机制,允许对象继承另一个对象的属性和方法。 JavaScript中的类型包括: * 基本类型:数字、字符串、布尔值 * 小数据类型:null、undefined * 复合类型:对象、数组 * 特殊类型:函数 * 基础工具...

    JavaScript — 对象和属性的特性1

    这个链接形成了原型链,使得对象可以从其原型继承属性和方法。例如,通过`new Foo()`创建的对象,其`[[Prototype]]`通常指向`Foo.prototype`。 `[[Class]]`是另一个内部特性,虽然不能直接访问,但可以使用`Object....

    JavaScript对象模型

    每个对象都有自己的原型链,通过它可以访问到更多的属性和方法。此外,JavaScript中的对象可以被视为一种复合数据类型。 #### 四、函数 在JavaScript中,函数同样是一种对象,具有特殊的内部属性`[[Class]]`,其值...

    04JavaScript对象相关内容总结.docx

    JavaScript对象是编程中的一种核心概念,它是一种复合数据类型,能够存储多个不同数据类型的属性。在JavaScript中,对象可以通过多种方式创建,其中一种常见的方法是使用`new`关键字和构造函数,例如`new Object()`...

    JavaScript面向对象编程案例

    4. **原型对象**:每个函数都有一个`prototype`属性,这个属性是一个对象,可以添加属性和方法。当试图访问实例对象上的属性或方法时,JavaScript会向上查找原型链。 5. **闭包和作用域**:虽然这不是面向对象特性...

    javascript面向对象

    每个对象都可以包含数据(属性)和方法(行为)。JavaScript虽然起初并非为面向对象设计,但随着时间的推移,它已经发展成为一种强大的面向对象编程语言。本文旨在深入解析JavaScript面向对象编程的基础,包括对象的...

    JavaScript面向对象编程指南(第2版).rar

    通过原型链机制,一个对象可以“继承”另一个对象的属性和方法。原型(prototype)是JavaScript中的关键概念,每个对象都有一个隐式的__proto__属性,指向其构造函数的原型。通过原型,子对象可以访问父对象的属性和...

Global site tag (gtag.js) - Google Analytics