javascript 创建对象简单说,无非就是使用对象或各种自定义对象,当然可以使用JSON;但写法有很多种,也能混合使用。
1. 对象字面量的方式
var Cat = {}; //JSON
Cat.name = "吃遍天下鱼", //添加属性并赋值
Cat.age = 5,
Cat.sayHello = function(){
alert("Hello"+Cat.name+",今年"+Cat["age"]+"岁了");
}
Cat.sayHello();//调用对象的方法(函数)
2.用function(函数)来模拟class(无参
构造函数)
function Person(){}
var person = new Person();//定义一个function,如果有new关键字"实例化",function可以看做是一个类
person.name = "单身狗";
person.hobby = "调戏敲代码";
person.work = function( ){
alert(person.name+"正在"+person.hobby);
}
person.work();
3.用有参数
构造函数来实现,这样定义更方便,扩展性更强(推荐使用)
function Pet(name,age,hobby){
this.name = name; //this作用域:当前对象
this.age = age;
this.hobby = hobby;
this.eat = function(){
alert("我叫"+this.name+",我今年"+this.age+"岁了,我喜欢"+this.hobby);
}
}
var sofa = new Pet("二哈",3,"拆沙发。"); //实例化创建对象
sofa.eat();
4.使用工厂方式来创建对象(Object关键字)
var wcDog = new Object();
wcDog.name = "旺财";
wcDog.age = 3;
wcDog.work = function(){
alert("我是"+wcDog.name+",汪汪汪......"+"我今年"+wcDog.age+"岁了。");
}
wcDog.work();
5.使用原型对象的方式 prototype关键字
function Dog(){}
Dog.prototype.name="旺财";
Dog.prototype.eat=function(){
alert(this.name+"非常听话。");
}
var wangcai = new Dog();
wangcai.eat();
6.混合模式(原型和构造函数)
function Car(name,price){
this.name = name;
this.price = price;
}
Car.prototype.sell = function(){
alert("我是"+this.name+",我现在卖了"+this.price+"万元。");
}
var niubicar = new Car("奔驰代理商",2400);
niubicar.sell();
热门评论
这样也可以^_^