在传统的web开发模式当中,javascript只是一种点缀的作用,完成了有限的一些功能,比如表单验证之类的。而在当然我们对javascript的开发要求越来越高,也越复杂,对于这样需求,我们可以使用面向对象编程的思想,使它们在逻辑上面更加清晰、轻巧。
面向对象中很核心的概念之一就是Class.下面我们在javascript模拟一下
function person(name,age){
this.name=name;
this.age=age;
}
var person = new person('your are name?','25');
alert(person.name);
对象有不同的属性与方法,这个取决于它们实例化的对象(l类),我们可以用.或者[]来获取或者赋值给对象的属性。以下代码与以上代码结果保持一致。
function person(name,age){
this.name=name;
this.age=age;
}
var person = new person('your are name?','25');
alert(person['name']);
javascript的函数还是比较棒的,相对于上面写法,我们还可以使用匿名函数如下;
var person = function(name){
this.name=name;
alert(this.name);
}
person('Hello word!!');
为了进一步说明函数就是对象,我们还可以为在函数中为对象添加属性,如下;
var person=function(name){
this.name=name;
}
person.show="Thank you!!";
alert(person.show);
怎么样,很好用吧,接下来我们为对象来添加方法,一般在开发当中采用匿名类方式比较多,我们也采用这种方式如下;
var person={
'name':'person',
'age':'25',
'show':function(){
alert(''My name is '+ this.person);
}
};
person.show();
我们可以通过this来引用person对象,通过对象来调用属性或者方法,this引用的值不是静态的,通过不同的对象调用this时,它便会指向不同的对象。
原型是javascript面向对象中很重要的一个概念,这些对象从原型中继承了属性和方法。
function person(name){
this.name=name;
}
person.prototype.sayHi=function(){
alert('My name is prototype!!');
}
var p = new person();
p.sayHi();
这样我们就可以实现出来了,相对于上我们也可以这样写;
function person(name){
this.getName=function(){
alert("Thank you!!!!!")
}
}
person.prototype.sayHi=function(){
alert('My name is prototype!!');
}
var p = new person();
p.sayHi();
p.getName();
在javascript当中还有一个比较重要,javascript空间命名,相似面向对象包的概念如下:
//定义空间,模拟于java包的概念'
var space = {};
var out = java.lang.System.out;
space.person= {
"name" : "kpxu",
"show" : function(name) {
out.println("hello word...." + name);
}
}
使用面向对象构建高级应用就已经写完了,在此谢谢大家,让我们一起努力吧!!!!