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>

转载于:https://www.cnblogs.com/liubeimeng/p/5806826.html

javascript中面向对象的5种写法相关推荐

  1. JavaScript中数组的几种写法

    1.直接new一个数组,不指定数组长度,使用数组下标给数组赋值,数组中可以存放任意类型的数据.(遍历时未赋值的元素将会显示undefined): <!DOCTYPE html> <h ...

  2. javascript 中面向对象实现 如何继承

    上一篇博客已经说了关于javascript中的封装, 其中也说了javascript中本来是没有类的,我们上一篇的封装也是用javascript中的函数去模拟一个类,最后我们还模拟了一个构造函数.那 ...

  3. JS面向对象的三种写法

    欢迎来我的博客交流 /*面向对象的三种写法 *1.构造函数 *2.class类 * 2.直接操作对象 * */ /**/function myShow(name){this.name = name;t ...

  4. 总结一下Java中SQL的九种写法

    因为在做持久层工具开发,现总结一下各种SQL的写法,也算是清晰一下自已的思路: 第一种写法 public void someMethod(){ try Connection conn=...; con ...

  5. java中synchronized的三种写法详解

    预备知识 首先,我们得知道在java中存在三种变量: 实例变量 ==> 存在于堆中 静态变量 ==> 存在于方法区中 局部变量 ==> 存在于栈中 然后,我们得明白,合适会发生高并发 ...

  6. JavaScript 普通函数的三种写法

    第一种写法:不常用 //创建一个函数对象,较少使用//可以将要封装的代码以字符串的形式传递给构造函数var fun = new Function("console.log('hello,这是 ...

  7. JavaScript中常见的几种“缺少对象”错误

    在JavaScript中,程序调度过程中经常会出现缺少对象错误,这里的对象有时候是变量,有时候是函数,有时候可能是对象等等. 缺少对象错误经常有以下几种情况 1.变量没有定义 使用没定义的变量时就会出 ...

  8. JavaScript中函数的三种定义方法

    JavaScript中函数定义的三种方法. 函数的三种定义方法分别是:函数定义语句.函数直接量表达式和Function()构造函数的方法.下面依次介绍这几种方法具体怎么实现. 1. 函数定义语句 // ...

  9. js面向对象的五种写法

    //定义Circle类,拥有成员变量r,常量PI和计算面积的成员函数area() Java代码   //第1种写法 function Circle(r) { this.r = r; } Circle. ...

最新文章

  1. Nat. Mach. Intell. | 基于深度学习预测DNA甲基化位点
  2. python 使用socks 爬虫_python爬虫基础之urllib的使用
  3. html 文件上传_某平台存在多处任意文件上传
  4. tomcat开启SSL8443端口的方法
  5. Java中的Google协议缓冲区
  6. 都已经十岁的ApacheDubbo,还能再乘风破浪吗?
  7. ACM-ICPC 2018 徐州赛区网络预赛G (单调队列)
  8. Java经典实例:处理单个字符串
  9. python报告水印怎么弄_超简单Python安全批量打水印教程!
  10. 不会真有人觉得聊天机器人难吧
  11. [PHP] 解决:hex2bin(): Hexadecimal input string must have an even length
  12. WebService学习总结(6)——WebService常用接口
  13. LaTex中 viso及svg转emf
  14. 模电--反馈电路的综合判断
  15. AT91SAM7SE应用 - IRQ
  16. Microsoft Edge浏览器或者电脑上其他浏览器的主页被篡改后的解决办法。(适用于联想电脑)
  17. 企业版360忘记密码卸载
  18. win8计算机意外,解决win8.1/win10开机提示“致命错误c0000034”的方案
  19. Python破解pdf打开密码
  20. 【微机原理与接口技术】之一微型计算机系统概述

热门文章

  1. 使用ASP.NET Core和Entity Framework Core实现Angular 7 SPA CRUD
  2. linux 编辑启动菜单,grub2的配置,linux启动菜单修改
  3. sc7cb27180 士兰微_供应 SILAN/士兰微 SC7A30E SC7A30 LGA10-3A 加速度计/三轴磁传感器
  4. mysql语句注意点 2021-05-15
  5. python模块_python模块
  6. 亚马逊分类目录_新版亚马逊分类目录v2.4程序源码官方分享下载
  7. fd在python什么意思_python用法总结
  8. 2 数据源配置_[Mybatis]-[基础支持层]-数据源信息-数据源详解
  9. android 布局可大可小,UI设计教程之:ios与android ui适配(将IOS UI转换成Android经验畅谈)...
  10. mysql binary like,在MySQL中为BINARY LIKE操作建立索引