- js对象
JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...
所有事物都是对象
JavaScript 提供多个内建对象,比如 String、Date、Array 等等。 对象只是带有属性和方法的特殊数据类型。
- 布尔型可以是一个对象。
- 数字型可以是一个对象。
- 字符串也可以是一个对象
- 日期是一个对象
- 数学和正则表达式也是对象
- 数组是一个对象
- 甚至函数也可以是对象
JavaScript 对象
对象只是一种特殊的数据。对象拥有属性和方法。
2.创建js对象
创建新对象有两种不同的方法:
- a.定义并创建对象的实例
- b.使用函数来定义对象,然后创建新的对象实例;
new Object(),new出来一个对象;person=new Object();
person.firstname="John";
person.lastname="Doe";
person.age=50;
person.eyecolor="blue";
替代语法(使用对象literals):
person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};
b.使用对象构造器:
首先,用函数来构造对象:
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}
然后,new出来新对象:
var myFather=new person("John","Doe",50,"blue");
var myMother=new person("Sally","Rally",48,"green");
3.操作对象
a.把属性添加到对象上
person.firstname="John";
person.lastname="Doe";
person.age=30;
person.eyecolor="blue";
x=person.firstname;
b.把对象添加到对象上
方法只不过是附加在对象上的函数。
在构造器函数内部定义对象的方法
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;
}}
<script> function person(firstname,lastname,age,eyecolor){ this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; } myFather=new person("John","Doe",50,"blue");
c.循环遍历对象属性
JavaScript for...in 语句循环遍历对象的属性。
function myFunction(){
var x;
var txt="";
var person={fname:"Bill",lname:"Gates",age:56};
for (x in person){
txt=txt + person[x];
}
4.总结:
JavaScript 是面向对象的语言,但 JavaScript 不使用类。
在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。
JavaScript 基于 prototype,而不是基于类的。
a.往对象里面添加方法:在构造器里定义方法,赋值方法名;而添加属性,直接就可以点出属性进行赋值;
b.用对象的时候,一种是键值对数组来创建对象;另一种就是通过new来创建对象,new里面有默认构造器和自定义函数构造器。