面向对象 ( OO ) 的程序设计——理解对象

1 创建自定义对象

创建自定义对象的最简单方法为创建 Object 的实例,并添加属性方法,也可以使用对象字面量

2 访问器属性

访问器属性包括 getter 和 setter 函数,读取访问器属性时,调用 getter 函数,写入访问器属性时,调用 setter 属性

 1 var people = {
 2     _year: 1995,
 3     age: 0
 4 };
 5
 6 Object.defineProperty(people, "year", {
 7     get:function(){
 8         return this._year;
 9     },
10     set:function(newValue){
11         people._year = newValue;
12         if(newValue > 1995)
13             people.age = newValue - 1995;
14     }
15 });
16
17 people.year = 2016;
18 console.log(people.year);
19 console.log(people.age);

year 前加下划线表示它是只能通过对象方法访问的属性

时间: 2024-10-29 16:05:14

面向对象 ( OO ) 的程序设计——理解对象的相关文章

面向对象的程序设计-理解对象

理解对象 创建自定义对象的最简单方式就是创建一个Object的实例,然后再为它添加属性和方法 1 var person = new Object(); 2 person.name = "Nicholas"; 3 person.age = 29; 4 person.job = "SoftWare Engineer"; 5 person.sayName = function(){ 6 alert(this.name); 7 }; 创建对象的首选模式是对象字面量方式 1

JS面向对象篇一、理解对象及属性特性(属性描述符)

本文内容 1.理解对象; 2.ECMAScript有两种属性类型:数据属性和访问器属性(getter和setter函数); 3.数据属性的属性特性:[[Configurable]].[[Enumerable]].[[Writable]].[[value]]; 4.访问器属性的属性特性:[[Configurable]].[[Enumerable]].[[get]].[[set]]; 5.Object.defineProperty().Object.defineProperties().Object

面向对象 ( OO ) 的程序设计——创建对象

为了避免大量重复代码产生,可采用以下方法创建对象 1 工厂模式 1 function createPerson(name,age,job){ 2 var o = new Object(); 3 o.name = name; 4 o.age = age; 5 o.job = job; 6 return o; 7 } 8 9 var person1 = createPerson("Bob",23,"Doctor"); 10 var person2 = createPer

面向对象 ( OO ) 的程序设计——继承

仅支持实现继承,且主要依靠原型链来实现,不过一般会混合构造函数一起实现继承 1 原型链 继承使用原型链进行传递,类似指针一层层向上指向对应原型,构成链状 在使用原型链近似实现继承时,实例中的所有属性和方法都会被继承 1 // 第一个类型 2 function Func1(){ 3 this.property = true; 4 } 5 // 第一个类型的方法 6 Func1.prototype.getFunc1Value = function(){ 7 return this.property;

面向对象学习篇[1]-理解对象

对象即多个属性和方法的一个集合体 属性类型 1 数据属性:数据属性包含一个数据值的位置,在这个位置可以读取和写入值.数据属性有4个描述其行为的特性a) [[Configurable]] 表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性,这个特性的默认值为trueb) [[Enumerable]] 表示能否通过 for-in 循环返回属性,这个特性的默认值为truec) [[Writable]] 表示能否修改属性的值,这个特性的默认值为trued

第六章 面向对象的程序设计 (1 理解对象)

面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象. ECMA-262 把对象定义为:"无序属性的集合,其属性可以包含基本值.对象或者函数."严格来讲,这就相当于说对象是一组没有特定顺序的值.对象的每个属性或方法都有一个名字,而每个名字都映射到一个值.正因为这样,我们可以把ECMAScript 的对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数. 每个对象都是基于一个引用类型创建的. 6

JavaScript 面向对象的程序设计(一)之理解对象属性

首先,JavaScript 面向对象的程序设计,主要分三部分. 理解对象属性: 理解并创建对象: 理解继承. 本文主要从第一方面来阐述: 理解对象属性 首先我们来理解Javascript对象是什么?在Javascript中,万物皆对象.其中创建自定义对象的最简单的方式就是创建一个Object的实例,如下: ECMAScript中有两种属性:数据属性和访问器属性. 数据属性:其中数据属性有四个描述其行为的特性:Configurable: 表示能都通过delete删除属性从而重新定义属性.Enume

第六章-面向对象的程序设计(理解对象)

ESMA把对象定义为:"无序属性的集合,其属性可以包含基本值,对象和函数".严格的讲,这相当于说对象是一组没有特定顺序的值,对象的每个属性或方法都有一个名字,而每一个名字都映射到一个值. 1.理解对象 创建对象有对象字面量的方法,这种方法比较常用,也是比较推荐的. 1 var person ={ 2 name:'xu', 3 age:27, 4 sayName:function(){ 5 alert(this.name); 6 } 7 }; 还有创建对象的实例的方法: 2.属性的类型

03.JavaScript 面向对象精要--理解对象

JavaScript 面向对象精要--理解对象 尽管JavaScript里有大量内建引用类型,很可能你还是会频繁的创建自己的对象.JavaScript中的对象是动态的. 一.定义属性 当一个属性第1次被添加给对象时JavaScript在对上上调用了一个名为 [[Put]]的内部方法,该方法会在对象上创建一个新节点保存属性,就像 哈希表上第一次添加一个键一样这个操作不仅指定了初始值 也定义了属性的一些特征 1.1 [[Put]]内部方法 [[Put]]在对象上创建一个自有属性 1.2 [[Set]