在传统的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); } } 使用面向对象构建JAVASCRIPT高级应用就已经写完了,在此谢谢大家,让我们一起努力吧!!!! (责任编辑:admin) |