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>
转载于:https://www.cnblogs.com/liubeimeng/p/5806826.html
javascript中面向对象的5种写法相关推荐
- JavaScript中数组的几种写法
1.直接new一个数组,不指定数组长度,使用数组下标给数组赋值,数组中可以存放任意类型的数据.(遍历时未赋值的元素将会显示undefined): <!DOCTYPE html> <h ...
- javascript 中面向对象实现 如何继承
上一篇博客已经说了关于javascript中的封装, 其中也说了javascript中本来是没有类的,我们上一篇的封装也是用javascript中的函数去模拟一个类,最后我们还模拟了一个构造函数.那 ...
- JS面向对象的三种写法
欢迎来我的博客交流 /*面向对象的三种写法 *1.构造函数 *2.class类 * 2.直接操作对象 * */ /**/function myShow(name){this.name = name;t ...
- 总结一下Java中SQL的九种写法
因为在做持久层工具开发,现总结一下各种SQL的写法,也算是清晰一下自已的思路: 第一种写法 public void someMethod(){ try Connection conn=...; con ...
- java中synchronized的三种写法详解
预备知识 首先,我们得知道在java中存在三种变量: 实例变量 ==> 存在于堆中 静态变量 ==> 存在于方法区中 局部变量 ==> 存在于栈中 然后,我们得明白,合适会发生高并发 ...
- JavaScript 普通函数的三种写法
第一种写法:不常用 //创建一个函数对象,较少使用//可以将要封装的代码以字符串的形式传递给构造函数var fun = new Function("console.log('hello,这是 ...
- JavaScript中常见的几种“缺少对象”错误
在JavaScript中,程序调度过程中经常会出现缺少对象错误,这里的对象有时候是变量,有时候是函数,有时候可能是对象等等. 缺少对象错误经常有以下几种情况 1.变量没有定义 使用没定义的变量时就会出 ...
- JavaScript中函数的三种定义方法
JavaScript中函数定义的三种方法. 函数的三种定义方法分别是:函数定义语句.函数直接量表达式和Function()构造函数的方法.下面依次介绍这几种方法具体怎么实现. 1. 函数定义语句 // ...
- js面向对象的五种写法
//定义Circle类,拥有成员变量r,常量PI和计算面积的成员函数area() Java代码 //第1种写法 function Circle(r) { this.r = r; } Circle. ...
最新文章
- Nat. Mach. Intell. | 基于深度学习预测DNA甲基化位点
- python 使用socks 爬虫_python爬虫基础之urllib的使用
- html 文件上传_某平台存在多处任意文件上传
- tomcat开启SSL8443端口的方法
- Java中的Google协议缓冲区
- 都已经十岁的ApacheDubbo,还能再乘风破浪吗?
- ACM-ICPC 2018 徐州赛区网络预赛G (单调队列)
- Java经典实例:处理单个字符串
- python报告水印怎么弄_超简单Python安全批量打水印教程!
- 不会真有人觉得聊天机器人难吧
- [PHP] 解决:hex2bin(): Hexadecimal input string must have an even length
- WebService学习总结(6)——WebService常用接口
- LaTex中 viso及svg转emf
- 模电--反馈电路的综合判断
- AT91SAM7SE应用 - IRQ
- Microsoft Edge浏览器或者电脑上其他浏览器的主页被篡改后的解决办法。(适用于联想电脑)
- 企业版360忘记密码卸载
- win8计算机意外,解决win8.1/win10开机提示“致命错误c0000034”的方案
- Python破解pdf打开密码
- 【微机原理与接口技术】之一微型计算机系统概述
热门文章
- 使用ASP.NET Core和Entity Framework Core实现Angular 7 SPA CRUD
- linux 编辑启动菜单,grub2的配置,linux启动菜单修改
- sc7cb27180 士兰微_供应 SILAN/士兰微 SC7A30E SC7A30 LGA10-3A 加速度计/三轴磁传感器
- mysql语句注意点 2021-05-15
- python模块_python模块
- 亚马逊分类目录_新版亚马逊分类目录v2.4程序源码官方分享下载
- fd在python什么意思_python用法总结
- 2 数据源配置_[Mybatis]-[基础支持层]-数据源信息-数据源详解
- android 布局可大可小,UI设计教程之:ios与android ui适配(将IOS UI转换成Android经验畅谈)...
- mysql binary like,在MySQL中为BINARY LIKE操作建立索引