zoukankan      html  css  js  c++  java
  • javascript中面向对象的5种写法

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>js封装</title>
     6 </head>
     7 <body>
     8     
     9 </body>
    10 </html>
    11 <script type="text/javascript">
    12 //javascript中面向对象的5种写法
    13 //定义Circle类,拥有成员变量r,常量PI和计算面积的成员函数area()
    14 
    15 //第一种写法:比较正规的写法
    16 function Circle(r){
    17     this.r = r;
    18 }
    19 Circle.PI = 3.14159;
    20 Circle.prototype.area = function (){
    21     return Circle.PI * this.r * this.r;
    22 }    
    23 var c = new Circle(2.0);
    24 console.log(c.area());
    25 
    26 //第二种写法:工厂方法
    27 var Circle = function (){
    28     var obj = new Object();
    29     obj.PI = 3.14159;
    30 
    31     obj.area = function (r){
    32         return this.PI * r * r;
    33     }
    34     return obj;
    35 }
    36 var c = new Circle();
    37 console.log(c.area(2.0));
    38 
    39 //第三种写法
    40 var Circle = new Object();
    41 Circle.PI = 3.14159;
    42 Circle.area = function (r){
    43     return this.PI * r * r;
    44 }
    45 console.log(Circle.area(2.0));
    46 
    47 //第四种写法:JSON写法
    48 var Circle = {
    49     "PI":3.14159,
    50     "area":function(r){
    51         return this.PI * r * r;
    52     }
    53 }
    54 console.log(Circle.area(2.0));
    55 
    56 //第五种写法
    57 var Circle = new function("this.PI = 3.14159;this.area =function(r){return r * r * PI;}");
    58 console.log((new Circle()).area(2.0));
    59 
    60 </script>
  • 相关阅读:
    程序员书单_移动开发篇
    程序员书单_程序人生篇
    程序员书单_软考篇
    程序员书单_云计算篇
    程序员书单_数据库篇
    程序员书单_sshi框架篇
    程序员书单_软件工程篇
    程序员书单_项目管理篇
    Informatica在linux下安装搭建
    Informatica9.5.1创建资源库出错找不到libpmora8.so
  • 原文地址:https://www.cnblogs.com/liubeimeng/p/5806826.html
Copyright © 2011-2022 走看看