Acticle 11:javascript面向对象:js的面向对象

来源:互联网 发布:书籍知乎 编辑:程序博客网 时间:2024/06/05 19:35

什么是js的面向对象呢?
面向对象就是面向对象就是具有抽象、封装、继承的示例,它由方法和属性组成。举个例子吧:比如Date函数,里面就有很多的方法可以调用。我们不用了解它里面的代码,还可以自己构造函数。

面向对象有三大特点:
a.抽象性–抓住核心问题
b.封装性–不考虑内部实现,只考虑功能使用
c.继承性–从已有对象上,继承出新的对象

构造函数编写:
首先是基本的对象创建:

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>        <script type="text/javascript">            window.onload=function(){                var obj=new Object();//创建一个新对象                obj.name='华宇'//object对象的属性                obj.age=22;                obj.showName=function()//object对象的方法                {                    alert(obj.name);                }                obj.showAge=function()                {                    alert(obj.age);                }                obj.showName();//调用object对象的方法                obj.showAge();            }        </script>    </head>    <body>    </body></html>

创建一个对象可以使用上面例子,但是如果是多个对象的创建呢?会不会觉得很繁琐,这时就需要给对象来个构造函数,构造函数后,创建多个对象 时,就可以直接调用构造函数了

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>        <script type="text/javascript">            window.onload=function(){//              var obj=new Object();//创建一个新对象//              obj.name='华宇'//object对象的属性//              obj.age=22;//              //              obj.showName=function()//object对象的方法//              {//                  alert(obj.name);//              }//              obj.showAge=function()//              {//                  alert(obj.age);//              }//              //              obj.showName();//调用object对象的方法//              obj.showAge();                function person(name,age)                {//构造函数                    var obj=new Object();                    obj.name=name;//方法                    obj.age=age;                    obj.showName=function(){//属性                        alert(this.name);//这里的this指的是当前的对象,即为obj                    }                    obj.showAge=function(){                        alert(this.age);                    }                    return obj;                }                    var obj=person('张三','23');//调用person函数,传入数据                    obj.showName();                    obj.showAge();                    var obj=person('李四','25');//调用person函数,传入数据                    obj.showName();                    obj.showAge();                //alert(obj.name==obj.name);//弹出两个对象的属性名:obj.name            }        </script>    </head>    <body>    </body></html>
0 0
原创粉丝点击