javaScript创建对象的几种方式
简介
JavaScript 创建对象简单的来说就是使用内置对象或者各种自定义对象,或者是JSON;其中包含很多种写法,也可以混合使用。
对象字面量方式
最简单的创建对象的方式:
var person={
firstname:'one',
lastname:'two',
age:'25'
}
function模拟无参的构造函数
定义一个函数,用new来实例化,可以将函数看作为一个class
function Person(){}
var person = new Person();//实例化函数
person.name="lxy";
person.age=25;
person.work=function(){
alert('我是'+person.name)
}
person.work();//调用person的work方法
模拟构造函数(通过this为类设置属性和方法)
定义一个函数,用new来实例化 ,使用this关键字定义构造函数的上下文属性
function Person(name,age){ //创建
this.name=name;
this.age=age;
this.work=function(){
alert('我叫'+this.name,"今年"+this.age)
}
}
var lxy=new Person('李新宇',25);//实例化函数
lxy.work() //调用方法
工厂模式创建(内置对象)
var wcDog=new Object();
wcDog.name="旺财";
wcDog.age=3;
wcDog.work=function(){
alert('我是'+wcDog.name)
}
wcDog.work();
原型的方法创建
将属性或者方法定到构造函数的原型上
function Person(){}
Person.prototype.name="one";
Person.prototype.work=function(){
alert('我叫'+this.name)
}
var lxy=new Person();//实例化函数
lxy.work() //调用方法
使用混合方式创建
用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法)
function Car(name,age){
this.name=name;//定义属性
this.age=age;
}
Car.prototype.work=function(){ //在原型上定义方法
alert('我是'+this.name+'我今年'+this.age+'岁');
}
var camry=new Car('lxy',25); //实例
camry.sell() //调用方法