天天看點

第67天:面向對象的聲明、封裝

一、聲明對象

有兩種聲明對象的方式.

1、var obj = new Object();    

但是我們更提倡用第二種方法: 字面量式聲明對象

 2、var obj  = {};

1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8 
 9 </body>
10 </html>
11 <script>
12     //聲明對象
13     //var obj=new Object();
14     var obj={};
15     obj.name="劉德華";
16     obj.age=55;
17     obj.showName=function(){//聲明方法  方法有括号
18         alert("我是劉德華");
19     }
20     obj.showAge=function(){
21         alert("我今年55歲了");
22     }
23     console.log(obj.name);//調用屬性
24     console.log(obj.age);
25     obj.showName();//調用方法
26     obj.showAge();
27 </script>      

二、封裝對象

1 <script>
 2     function Person(name,age){
 3         var obj={};
 4         obj.name=name;
 5         obj.age=age;
 6         obj.showName=function(){
 7             alert("我的名字是"+name);
 8         }
 9         obj.showAge=function(){
10             alert("我的年齡是"+age);
11         }
12         return obj;//傳回對象
13     }
14     var xiaoming=Person("小明",12);
15     console.log(xiaoming.name);
16     console.log(xiaoming.age);
17     xiaoming.showName();
18     xiaoming.age();
19 </script>      

三、建立執行個體對象

1 <script>
 2     function Person(name,age){//構造函數
 3         this.name=name;
 4         this.age=age;
 5         this.showName=function(){
 6             alert("我的名字是"+name);
 7         }
 8         this.showAge=function(){
 9             alert("我的年齡是"+age);
10         }
11     }
12     var demo=new Person("劉德華",18);//demo是執行個體對象
13     console.log(demo.name);//提倡這種調用方法
14     console.log(demo["name"]);
15     console.log(demo.age);
16     demo.showName();
17 </script>      

繼續閱讀