JS面向对象设计(转载)

看了这篇文章,感觉蛮好的,就转了过来!!!
在传统的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高级应用就已经写完了,在此谢谢大家,让我们一起努力吧!!!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值