js面向对象编程总结


Posted in Javascript onFebruary 16, 2017

//定义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();

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
JS控件autocomplete 0.11演示及下载 1月5日已更新
Jan 09 Javascript
javascript getElementsByClassName函数
Apr 01 Javascript
JS 控制小数位数的实现代码
Aug 02 Javascript
关于JAVASCRIPT urldecode URL解码的问题
Jan 08 Javascript
Javascript实现可旋转的圆圈实例代码
Aug 04 Javascript
JavaScript 性能优化小结
Oct 12 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
Jan 14 Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
Jul 23 Javascript
Javascript中从学习bind到实现bind的过程
Jan 05 Javascript
Vue 之孙组件向爷组件通信的实现
Apr 23 Javascript
node爬取新型冠状病毒的疫情实时动态
Feb 06 Javascript
JavaScript实现随机点名程序
Mar 25 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
Feb 16 #Javascript
JS实现DIV高度自适应窗口示例
Feb 16 #Javascript
Js apply方法详解
Feb 16 #Javascript
JavaScript实现的XML与JSON互转功能详解
Feb 16 #Javascript
js实现文字无缝向上滚动
Feb 16 #Javascript
node学习记录之搭建web服务器教程
Feb 16 #Javascript
Angular实现跨域(搜索框的下拉列表)
Feb 16 #Javascript
You might like
来自phpguru得Php Cache类源码
2010/04/15 PHP
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
php上传excel表格并获取数据
2017/04/27 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
2010/01/22 Javascript
一个挺有意思的Javascript小问题说明
2011/09/26 Javascript
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
javascript操作css属性
2013/12/30 Javascript
JQuery对表单元素的基本操作使用总结
2014/07/18 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
2015/09/12 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
利用Python的装饰器解决Bottle框架中用户验证问题
2015/04/24 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
2016/05/28 Python
Python实现读取json文件到excel表
2017/11/18 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
Python测试线程应用程序过程解析
2019/12/31 Python
python numpy--数组的组合和分割实例
2020/02/24 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
CSS3 新增选择器的实例
2019/11/13 HTML / CSS
介绍一下sql server的安全性
2014/08/10 面试题
大学生专科毕业生自我评价
2013/11/17 职场文书
个人应聘自我评价分享
2013/11/18 职场文书
采购主管工作职责
2013/12/12 职场文书
实习单位接收函模板
2014/01/10 职场文书
新学期校长寄语
2014/01/18 职场文书
大学生个人事迹材料
2014/01/21 职场文书
幼儿园教师培训方案
2014/02/04 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL
比较node.js和Deno
2021/04/27 Javascript
CentOS7 minimal 最小化安装网络设置过程
2022/12/24 Servers