JavaScript学习笔记(五) JavaScript 对象
- 学习记录,仅供参考。
JavaScript 对象
- 对象只是一种特殊的数据。对象拥有属性和方法。
访问对象的属性
- 属性是与对象相关的值。
- 访问对象属性的语法是
objectName.propertyName
访问对象的方法
- 方法是能够在对象上执行的动作。
- 调用方法的语法是
objectName.methodName()
创建 JavaScript 对象
- 创建新对象有两种不同的方法:
- 使用 Object 定义并创建对象的实例。
- 使用函数来定义对象,然后创建新的对象实例。
使用 Object
-
在 JavaScript 中,几乎所有的对象都是 Object 类型的实例,它们都会从 Object.prototype 继承属性和方法。
-
Object 构造函数创建一个对象包装器。
-
Object 构造函数,会根据给定的参数创建对象,具体有以下情况:
- 如果给定值是 null 或 undefined,将会创建并返回一个空对象。
- 如果传进去的是一个基本类型的值,则会构造其包装类型的对象。
- 如果传进去的是引用类型的值,仍然会返回这个值,经他们复制的变量保有和源对象相同的引用地址。
- 当以非构造函数形式被调用时,Object 的行为等同于 new Object()。
-
语法格式
new Object([value])
-
使用对象字面量来创建对象
{ name1 : value1, name2 : value2,...nameN : valueN }
-
其实就是大括号里面创建 name:value 对,然后 name:value 对之间以逗号 , 隔开。
使用对象构造器
-
function person(firstname,lastname,age,eyecolor) { this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; }
创建JS对象实例
-
var myFather=new person("John","Doe",50,"blue"); var myMother=new person("Sally","Rally",48,"green");
把属性添加到 JavaScript 对象
-
方法只不过是附加在对象上的函数。
-
在构造器函数内部定义对象的方法
-
function person(firstname,lastname,age,eyecolor) { this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; this.changeName=changeName; function changeName(name) { this.lastname=name; } }
-
JavaScript 类
- JavaScript 是面向对象的语言,但 JavaScript 不使用类。
- 在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。
- JavaScript 基于 prototype,而不是基于类的。
JavaScript for … in 循环
- JavaScript for…in 语句循环遍历对象的属性。
语法
-
for (variable in object) { 执行的代码…… } //注意: for...in 循环中的代码块将针对每个属性执行一次。
实例
-
//循环遍历对象的属性: var person={ fname:"John",lname:"Doe",age:25}; for</