JS 面向对象的5钟写法


Posted in Javascript onJuly 31, 2009

Java代码

//第1种写法 
function Circle(r) { 
this.r = r; 
} 
Circle.PI = 3.14159; 
Circle.prototype.area = function() { 
return Circle.PI * this.r * this.r; 
} 
var c = new Circle(1.0); 
alert(c.area());

Java代码
//第2种写法 
var Circle = function() { 
var obj = new Object(); 
obj.PI = 3.14159; 
obj.area = function( r ) { 
return this.PI * r * r; 
} 
return obj; 
} 
var c = new Circle(); 
alert( c.area( 1.0 ) );

Java代码
//第3种写法 
var Circle = new Object(); 
Circle.PI = 3.14159; 
Circle.Area = function( r ) { 
return this.PI * r * r; 
} 
alert( Circle.Area( 1.0 ) );

Java代码
//第4种写法 
var Circle={ 
"PI":3.14159, 
"area":function(r){ 
return this.PI * r * r; 
} 
}; 
alert( Circle.area(1.0) );

Java代码
//第5种写法 
var Circle = new Function("this.PI = 3.14159;this.area = function( r ) {return r*r*this.PI;}"); 
alert( (new Circle()).area(1.0) );

大家来讨论一下这五种写法,它们的优缺点,哪个比较规范,特别是最后两种,经常见到。
Javascript 相关文章推荐
同域jQuery(跨)iframe操作DOM(实例讲解)
Dec 19 Javascript
JavaScript如何获取数组最大值和最小值
Nov 18 Javascript
基于Vuejs框架实现翻页组件
Jun 29 Javascript
js return返回多个值,通过对象的属性访问方法
Feb 21 Javascript
vue仿淘宝订单状态的tab切换效果
Jun 23 Javascript
vue项目中axios使用详解
Feb 07 Javascript
vue2.0实现移动端的输入框实时检索更新列表功能
May 08 Javascript
angular6.0开发教程之如何安装angular6.0框架
Jun 29 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
May 07 Javascript
详解VSCode配置启动Vue项目
May 14 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
Jun 04 Javascript
javascript实现简易计算器功能
Sep 23 Javascript
Document 对象的常用方法
Jul 31 #Javascript
javascript getElementsByName()的用法说明
Jul 31 #Javascript
extjs 列表框(multiselect)的动态添加列表项的方法
Jul 31 #Javascript
JavaScript 学习小结(适合新手参考)
Jul 30 #Javascript
JavaScript 创建对象和构造类实现代码
Jul 30 #Javascript
Javascript 学习笔记 错误处理
Jul 30 #Javascript
JS 学习笔记 防止发生命名冲突
Jul 30 #Javascript
You might like
新版PHP将向Java靠拢
2006/10/09 PHP
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
linux命令之调试工具strace的深入分析
2013/06/03 PHP
php技术实现加载字体并保存成图片
2015/07/27 PHP
prototype Element学习笔记(篇一)
2008/10/26 Javascript
JQuery 解析多维的Json数据格式
2009/11/02 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
js enter键激发事件实例代码
2016/08/17 Javascript
bootstrap modal弹出框的垂直居中
2016/12/14 Javascript
js数字滑动时钟的简单实现(示例讲解)
2017/08/14 Javascript
Web技术实现移动监测的介绍
2017/09/18 Javascript
vue+express 构建后台管理系统的示例代码
2018/07/19 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
基于js实现复制内容到操作系统粘贴板过程解析
2019/10/11 Javascript
[00:43]TI7不朽珍藏III——幽鬼不朽展示
2017/07/15 DOTA
Python实现给qq邮箱发送邮件的方法
2015/05/28 Python
Python把csv数据写入list和字典类型的变量脚本方法
2018/06/15 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
python面向对象 反射原理解析
2019/08/12 Python
基于python进行抽样分布描述及实践详解
2019/09/02 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
django中ImageField的使用详解
2020/12/21 Python
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
世界上最大的汽车共享网站:Zipcar
2017/01/14 全球购物
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
竞选学生会演讲稿
2014/04/25 职场文书
纪检干部先进事迹材料
2014/08/23 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
工作失误检讨书(经典集锦版)
2014/10/17 职场文书
2014年电教工作总结
2014/12/19 职场文书
2015年妇幼保健工作总结
2015/05/19 职场文书
校长新学期寄语2016
2015/12/04 职场文书
Win11运行育碧游戏总是崩溃怎么办 win11玩育碧游戏出现性能崩溃的解决办法
2022/04/06 数码科技