标签:
通过 JavaScript,您能够定义并创建自己的对象。
创建对象的第一种方法:直接通过Object来创建对象。(使用这种方式创建对象,带来最大的问题是没有类的约束,无法实现对象的重复使用,并且没有一种约定,在操作时会带来问题。)
var person = new Object(); //创建新的对象
person.name = "Leon";
person.age = 22;
person.say = function() { 给对象创建方法
alert(this.name + "," + this.age);
}
person.say();
alert(person.age);
创建对象的第二种方法:json就是js的对象,但是它省去了xml中标签,而是通过{}来完成对象的说明.
实例:
var person = {
name: "张三", //通过属性名:属性值来表示,不同的属性通过,来间隔
age: 23,
say: function() {
alert(this.name + "," + this.age);
}//最后一个属性之后不能有,
}
person.say();
通过json也可以创建对象数组
var ps = [
{
name : "Leson",
age : 25,
say : function(){
alert(this.name + "," + this.age);
}
},
{
name : "Adia",
age : 20
},
{
name : "Peros",
age : 30
}
];
ps[0].say();
通过工厂的方式创建Car对象,在createCar中创建一个对象,然后为这个对象设置相应的属性和方法,之后返回这个对象。
实例:
function createCar(name,lunzi){
var car = new Object();
car.name = name;
car.lunzi = age;
car.say = function() {
alert("汽车的名字:"+this.name+“,轮子:”+this.lunzi)
}
return car;
}
var car1= createCar("凯迪拉克",4);
var car2= createCar("奔驰",5);
car1.say();
car2.say();
通过构造函数的方式创建,使用构建函数创建时,在函数内部通过this关键字来完成属性的定义。
实例:
function Person(name,age){
this.name = name;
this.age = age;
this.say = say;
} //将行为设置为全局的行为
function say(){
alert(this.name+","this.age);
}
通过new Person来创建对象
var p1 = new Person("Abcs",22);
var p2 = new Person("Lops",19);
alert(p1 instanscof Person);//构造函数的方式可以通过以下的方式来检测
通过原型的创建方式,使用基于原型的穿件可以将属性和方法设置为Person专有的,不能通过window来调用。
实例:
function Person(){
}
Person.prototype.name = "Leon";
Person.prototype.age = 23;
Person.prototype.sex = "man";
Person.prototype.say = function() {
alert(this.name + "," + this.age);
}
var p1 = new Person();
p1.say();
var p2 = new Person();
p2.say();
p2.name = "kk";
p2.say();
p1.say();
标签:
原文地址:http://www.cnblogs.com/jiadong/p/5701552.html