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 相关文章推荐
prototype1.4中文手册
Sep 22 Javascript
收藏一些不常用,但是有用的代码
Mar 12 Javascript
浅谈Javascript嵌套函数及闭包
Nov 09 Javascript
js 控制图片大小核心讲解
Oct 09 Javascript
js判断字符长度以及中英文数字等
Dec 31 Javascript
一款由jquery实现的整屏切换特效
Sep 15 Javascript
JavaScript箭头函数_动力节点Java学院整理
Jun 28 Javascript
Javascript快速实现浏览器系统通知
Aug 26 Javascript
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
Nov 08 jQuery
微信小程序中button去除默认的边框实例代码
Aug 01 Javascript
一篇文章带你浅入webpack的DLL优化打包
Feb 20 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
Aug 07 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下获取上个月、下个月、本月的日期(strtotime,date)
2014/02/02 PHP
ThinkPHP之R方法实例详解
2014/06/20 PHP
php array_pop 删除数组最后一个元素实例
2016/11/02 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
2016/11/22 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
JavaScript中常见陷阱小结
2010/04/27 Javascript
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
如何让页面加载完成后执行js
2013/06/26 Javascript
js中onload与onunload的使用示例
2013/08/25 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
Javascript Promise用法详解
2018/05/10 Javascript
angularJs复选框checkbox选中进行ng-show显示隐藏的方法
2018/10/08 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
2019/11/12 Javascript
js实现数字滚动特效
2019/12/16 Javascript
python中迭代器(iterator)用法实例分析
2015/04/29 Python
python用装饰器自动注册Tornado路由详解
2017/02/14 Python
Python编程实现正则删除命令功能
2017/08/30 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
详解Django 时间与时区设置问题
2019/07/23 Python
python爬虫中采集中遇到的问题整理
2020/11/27 Python
Python OpenCV中的numpy与图像类型转换操作
2020/12/11 Python
CSS3 transform的skew属性值图文详解
2014/07/21 HTML / CSS
使用HTML5进行SVG矢量图形绘制的入门教程
2016/02/19 HTML / CSS
Speedo美国:澳大利亚顶尖泳衣制造商
2016/08/03 全球购物
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
Stefania Mode英国:奢华设计师和时尚服装
2017/10/23 全球购物
莱德杯高尔夫欧洲官方商店:Ryder Cup Shop
2019/08/14 全球购物
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
考博专家推荐信模板
2013/12/02 职场文书
高中生活自我鉴定
2014/01/18 职场文书
上课睡觉检讨书
2014/01/28 职场文书
食品安全责任书
2014/04/15 职场文书
2015大学生党员自我评价范文
2015/03/03 职场文书
安全第一课观后感
2015/06/18 职场文书