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 相关文章推荐
删除javascript中注释语句的正则表达式
Jun 11 Javascript
JS实现向表格中动态添加行的方法
Mar 30 Javascript
JavaScript实现刷新不重记的倒计时
Aug 10 Javascript
JS之获取样式的简单实现方法(推荐)
Sep 13 Javascript
分享bootstrap学习笔记心得(组件及其属性)
Jan 11 Javascript
HTML5 js实现拖拉上传文件功能
Nov 20 Javascript
Vue实现动态显示textarea剩余字数
May 22 Javascript
详解Angular的8个主要构造块
Jun 20 Javascript
js实现无缝轮播图
Mar 09 Javascript
微信小程序实现滑动操作代码
Apr 23 Javascript
如何手写一个简易的 Vuex
Oct 10 Javascript
javascript实现简单留言板案例
Feb 09 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
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
解析php框架codeigniter中如何使用框架的session
2013/06/24 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
js控制frameSet示例
2013/09/10 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
优化RequireJS项目的相关技巧总结
2015/07/01 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
JScript实现表格的简单操作
2017/08/15 Javascript
JS实现处理时间,年月日,星期的公共方法示例
2019/05/31 Javascript
JavaScript获取某一天所在的星期
2019/09/05 Javascript
vue 实现通过vuex 存储值 在不同界面使用
2019/11/11 Javascript
JS如何实现封装列表右滑动删除收藏按钮
2020/07/23 Javascript
vue中defineProperty和Proxy的区别详解
2020/11/30 Vue.js
[03:03]2014DOTA2国际邀请赛 EG战队专访
2014/07/12 DOTA
python根据距离和时长计算配速示例
2014/02/16 Python
在Python的Django框架中生成CSV文件的方法
2015/07/22 Python
你应该知道的python列表去重方法
2017/01/17 Python
微信跳一跳自动运行python脚本
2018/01/08 Python
python获取代码运行时间的实例代码
2018/06/11 Python
使用tensorflow实现线性回归
2018/09/08 Python
Python实现字符串中某个字母的替代功能
2019/10/21 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
护士自我评价
2014/02/01 职场文书
旅行社各个岗位职责
2014/03/15 职场文书
教书育人演讲稿
2014/09/11 职场文书
销售合作意向书范本
2015/05/08 职场文书
获奖感言一句话
2015/07/31 职场文书
2016年中秋节寄语大全
2015/12/07 职场文书
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL