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

1.工厂方式

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 ) );

2.比较正规的写法

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()); 

3.json写法

var Circle={"PI":3.14159,"area":function(r){return this.PI * r * r; } }; alert( Circle.area(1.0) );

4.有点变化,但是实质和第一种一样

var Circle=function(r){this.r=r;
}
Circle.PI = 3.14159; Circle.prototype={ area:function(){ return this.r*this.r*Circle.PI; } } var obj=new Circle(1.0); alert(obj.area())

Circle.PI = 3.14159; 能够放入属性中写成this.PI=3.14159;

常用为第一种和第三种

第三种写法的扩展小实例

var show={btn:$('.div1'),init:function(){var that=this; alert(this); this.btn.click(function(){ that.change(); alert(this); }) }, change:function(){ this.btn.css({'background':'green'}); } } show.init();

需要注意的是this的指向问题

转载于:https://www.cnblogs.com/try-better-tomorrow/p/5200872.html

归纳下js面向对象的几种常见写法相关推荐

  1. Python编程语言学习:判断变量是否为NONE或False的几种常见写法(if not用法教程)

    Python编程语言学习:判断变量是否为NONE或False的几种常见写法(if not用法教程) 目录 判断变量是否为NONE或False的几种常见写法(if not用法教程) 1.not用法 2. ...

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

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

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

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

  4. mysql索引失效_导致MySQL索引失效的几种常见写法

    最近一直忙着处理原来老项目遗留的一些SQL优化问题,由于当初表的设计以及字段设计的问题,随着业务的增长,出现了大量的慢SQL,导致MySQL的CPU资源飙升,基于此,给大家简单分享下这些比较使用的易于 ...

  5. js简易计算机代码if语句,简单学习下JS里的if语句的写法

    在 JavaScript 中,我们可以使用下面几种条件语句: if 语句 在一个指定的条件成立时执行代码. if...else 语句 在指定的条件成立时执行代码,当条件不成立时执行另外的代码. if. ...

  6. SQL Update的四种常见写法

    /* 实验对象:两个学生表 1. 一个stu学生表,一个stu1学生表. 2. 上述表有三个字段 (学生id,学生性别,学生名字)*//* update语句常见场景,分为两大类: 1.单表update ...

  7. 什么是js面向对象?有什么特点?

    什么是js面向对象? 1.首先,js面向对象是一种思想: 2.其次,遵循万物皆对象的准则:程序中的关键模块都可以视为对象,对象都是由属性和方法组成,属性可以理解为对象的特征,是静态的,方法可以理解为对 ...

  8. 软件开发的几种常见模型(网易秋招笔试题)

    软件开发模型(Software Development Model)是指软件开发全部过程.活动和任务的结构框架. 开发模型有: 1.边做边改模型(Build-and-Fix Model): 2.瀑布模 ...

  9. 四种常见的浏览器内核简介----JS城市选择控件

    一 四种常见的浏览器内核简介 Gecko: Gecko: Netscape6开始采用的内核,后来的Mozilla FireFox (火狐浏览器) 也采用了该内核,Gecko的特点是代码完全公开,因此, ...

最新文章

  1. BSP 二叉树再次讨论
  2. 机器学习导论(张志华):正定核应用
  3. sklearn自学指南(part59)--神经网络模型(监督)
  4. python循环post请求_循环post请求太多
  5. 二叉堆(binary heap)—— 优先队列的实现
  6. EXE文件结构及读取方法
  7. 轨迹绕圈算法_算法程序解决如下问题:质点在平面坐标系中运动,每次x或者y坐标增加或减少1,如何判断质点是否顺时针质点的轨迹我们是知道的,当我们已经知道质点在绕圈运动了,那么怎么判断它是在顺时...
  8. linux vi下划线,如何将我的Vim高亮线更改为不是下划线?
  9. 【前端_React】React小书
  10. 申请并部署阿里云SSL免费证书详细流程
  11. java编程300例:5.通过用户输入,友好打招呼
  12. 什么是对比度、亮度?教你在线调整图片色彩
  13. 校园网使用家用无线路由器
  14. PHP短网址缩短源码 短网址生成系统源码
  15. logiscope系列-使用说明书
  16. Hydra-口令破解神器
  17. 深度学习之10分钟入门h5py
  18. 解决“windows已经阻止此软件因为无法验证发行者”方法
  19. WPF之布局属性HorizontalAlignment、HorizontalContentAlignment、VertialAlignment、VerticalContentAlignment
  20. $Linux vi/vim编辑器常用命令与用法总结

热门文章

  1. different intergers
  2. case when then else_SQL 优化大神玩转 MySQL函数系列_case_when 的坑
  3. 计算机组成原理—存储系统总结
  4. [leetcode]5337. 每个元音包含偶数次的最长子字符串
  5. bzoj 3372: [Usaco2004 Feb]Moo University -- Financial Aid 财政补助(set+贪心)
  6. 拆点并查集(poj 1182: 食物链)
  7. SPFA差分约束(bzoj 2330: [SCOI2011]糖果)
  8. dp动态规划_最短路径累加和最大问题
  9. [Python] zeros(r, c)和ones(r, c)和eye(n) 生成特殊矩阵
  10. python后台架构Django教程——数据模型Model