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 相关文章推荐
IE bug table元素的innerHTML
Jan 11 Javascript
Javascript 判断Flash是否加载完成的代码
Apr 12 Javascript
js报错 Object doesn't support this property or method的原因分析
Mar 31 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
Mar 12 Javascript
javascript文件加载管理简单实现方法
Jul 25 Javascript
实例解析jQuery中proxy()函数的用法
May 24 Javascript
微信小程序 火车票查询实例讲解
Oct 17 Javascript
js实现数组和对象的深浅拷贝
Sep 30 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
Oct 01 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
Sep 03 jQuery
详解关于Angular4 ng-zorro使用过程中遇到的问题
Dec 05 Javascript
基于JavaScript canvas绘制贝塞尔曲线
Dec 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
深入解析php模板技术原理【一】
2008/01/10 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
php上传大文件设置方法
2016/04/14 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
javascript-TreeView父子联动效果保持节点状态一致
2007/08/12 Javascript
jQuery 入门讲解1
2009/04/15 Javascript
在Ajax中使用Flash实现跨域数据读取的实现方法
2010/12/02 Javascript
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
7个JS基础知识总结
2014/03/05 Javascript
jquery-tips悬浮提示插件分享
2015/07/31 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
JS脚本实现动态给标签控件添加事件的方法
2016/06/02 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
2017/05/13 jQuery
使用jQuery实现简单的tab框实例
2017/08/22 jQuery
详解vue移动端日期选择组件
2018/02/22 Javascript
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
深入浅析Vue中mixin和extend的区别和使用场景
2019/08/01 Javascript
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
Python在线运行代码助手
2016/07/15 Python
Python跨文件全局变量的实现方法示例
2017/12/10 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
Python count函数使用方法实例解析
2020/03/23 Python
服务器端jupyter notebook映射到本地浏览器的操作
2020/04/14 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
2020/07/18 Python
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
大学生职业生涯规划书范文
2014/01/14 职场文书
共产党员岗位承诺书
2014/05/29 职场文书
未中标通知书
2015/04/17 职场文书
2016大学生社会实践单位评语
2015/12/01 职场文书
怎样做好公众演讲能力?
2019/08/28 职场文书
JavaScript前端面试组合函数
2022/06/21 Javascript