当前位置: 首页 > news >正文

JS 创建对象的5种写法

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

//定义Circle类,拥有成员变量r,常量PI和计算面积的成员函数area()

 

 

  1. //第1种写法    
  2. function Circle(r) {    
  3.       this.r = r;    
  4. }    
  5. Circle.PI = 3.14159;    
  6. Circle.prototype.area = function() {    
  7.   return Circle.PI * this.r * this.r;    
  8. }    
  9.     
  10. var c = new Circle(1.0);       
  11. alert(c.area());     

 

[javascript] view plain copy

  1. //第2种写法    
  2. var Circle = function() {    
  3.    var obj = new Object();    
  4.    obj.PI = 3.14159;    
  5.        
  6.    obj.area = function( r ) {    
  7.        return this.PI * r * r;    
  8.    }    
  9.    return obj;    
  10. }    
  11.     
  12. var c = new Circle();    
  13. alert( c.area( 1.0 ) );    

 

[javascript] view plain copy

 

  1. //第3种写法    
  2. var Circle = new Object();    
  3. Circle.PI = 3.14159;    
  4. Circle.Area = function( r ) {    
  5.        return this.PI * r * r;    
  6. }    
  7.     
  8. alert( Circle.Area( 1.0 ) );    

 

[javascript] view plain copy

 

  1. //第4种写法    
  2. var Circle={    
  3.    "PI":3.14159,    
  4.  "area":function(r){    
  5.           return this.PI * r * r;    
  6.         }    
  7. };    
  8. alert( Circle.area(1.0) );    

 

[javascript] view plain copy

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

转载于:https://my.oschina.net/u/1052786/blog/887261

相关文章:

  • python之转义字符(学习笔记三)
  • 1015. 德才论 (25)
  • atitit. groupby linq的实现(1)-----linq框架选型 java .net php
  • Linux下安装MySQLdb模块(Python)
  • LWIP移植
  • G-Code 详解
  • umask值与Linux中文件和目录权限的关系
  • 2017-4-28 ListView控件
  • Vue2 第一天学习
  • 《Haskell趣学指南》—— 第2章,第2.2节Haskell的常见类型
  • awk 系列:如何使用 awk 的 ‘next’ 命令
  • 《深入浅出iPhone/iPad开发(第2版)》——你已经创建了自己的第一个iPhone应用程序!...
  • 十分钟搞清字符集和字符编码
  • 缓存失效竟然可以这么解决?
  • 一个最简单的jQuery插件编写历程
  • avalon2.2的VM生成过程
  • create-react-app项目添加less配置
  • eclipse(luna)创建web工程
  • Java 23种设计模式 之单例模式 7种实现方式
  • JavaScript学习总结——原型
  • PHP那些事儿
  • Redis 懒删除(lazy free)简史
  • Spring-boot 启动时碰到的错误
  • v-if和v-for连用出现的问题
  • 排序算法学习笔记
  • 前端面试之CSS3新特性
  • 前端面试总结(at, md)
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #include<初见C语言之指针(5)>
  • (Ruby)Ubuntu12.04安装Rails环境
  • (八)c52学习之旅-中断实验
  • (二)JAVA使用POI操作excel
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • . Flume面试题
  • .Net CF下精确的计时器
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .NET开源项目介绍及资源推荐:数据持久层
  • .Net中的设计模式——Factory Method模式
  • 。Net下Windows服务程序开发疑惑
  • :中兴通讯为何成功
  • @Autowired标签与 @Resource标签 的区别
  • [ C++ ] STL---string类的模拟实现
  • []Telit UC864E 拨号上网
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory
  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略