javascript学习15:创建对象

文章目录

Javascript面向对象是一个很奇怪的,跟其他语言的棉面向对象有区别。

创建对象

1.使用常见的new Object()来创建

var box = new Object(); //创建对象

box.name='Lee'; //创建属性

box.age = 100;

box.run = function(){ //创建方法

return box.name+" is "+this.age

};//this表示当前作用域下对象

//this表示new Object()实例化出来的那个对象

alert(box.run()); //打印出对象的方法

2.工厂模式

function createObject(name,age){

var obj = new Object();

obj.name= name;

obj.age = age;

obj.run = function(){
return this.name+" is "+this.age;

};

return obj; //返回对象引用

}

var box1 = createObject('Cai',27); //创建第一个对象

alert(box1.run()); //打印第一个对象实例的方法

3.构造函数

function Box(name,age){

this.name=name;

this.age = age;

this.run = function(){

return this.name+" is "+this.age;

};

};

var box1 = new Box('Cai',27); //实例化

var box2 = new Box('Jack',22);

alert(box1.run());

注意事项:

1.构造函数没有new Object,但它后台会自动var obj = new Object

2.this就相当于obj

3.构造函数不需要返回对象,它是后台自动返回的。

1.构造函数必须也是函数,但函数名第一个字母大写

2.必须new 构造函数名(), new Box(),而这个Box第一个字母也是大写的。

3.必须使用new运算符。

var o = new Object();

Box.call(o,'Cai',27); //对象冒充

alert(box.run = box2.ru) //false是因为他们的引用地址不一样

4.字面量方法

var obj = {
name:"caibaojian.com",
run:function(){
return obj.name;
}
}
alert(obj.run());
原创文章:javascript学习15:创建对象 ,未经许可,禁止转载,©版权所有
原文出处:前端开发博客 (http://caibaojian.com/js-create-object.html)
评论已关闭。

“javascript学习15:创建对象”有1个评论

  1. 之涯ゞ

    alert(box.run = box2.ru) //false是因为他们的引用地址不一样?

    登录回复