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 相关文章推荐
解决 FireFox 下[使用event很麻烦] 的问题.
Aug 22 Javascript
javascript开发技术大全-第1章javascript概述
Jul 03 Javascript
网页编辑器ckeditor和ckfinder配置步骤分享
May 24 Javascript
jquery 插件学习(五)
Aug 06 Javascript
12款经典的白富美型—jquery图片轮播插件—前端开发必备
Jan 08 Javascript
JQuery点击行tr实现checkBox选中的简单实例
May 26 Javascript
javascript 用函数实现继承详解
May 28 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
Jan 23 Javascript
JS简单判断函数是否存在的方法
Feb 13 Javascript
详解如何在vue中使用sass
Jun 21 Javascript
详解express使用vue-router的history踩坑
Jun 05 Javascript
JavaScript实现九宫格拖拽效果
Jun 28 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错误级别的设置方法
2013/06/17 PHP
CodeIgniter中使用cookie的三种方式详解
2014/07/18 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
JavaScript 函数式编程的原理
2009/10/16 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
JS随机洗牌算法之数组随机排序
2016/03/23 Javascript
JS弹出新窗口被拦截的解决方法
2016/08/09 Javascript
基于jQuery ligerUI实现分页样式
2016/09/18 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
一篇看懂vuejs的状态管理神器 vuex状态管理模式
2017/04/20 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
input 标签实现输入框带提示文字效果(两种方法)
2017/10/09 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
ES6的循环与可迭代对象示例详解
2021/01/31 Javascript
python学习手册中的python多态示例代码
2014/01/21 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
python使用turtle库绘制树
2018/06/25 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
Django REST framework 如何实现内置访问频率控制
2019/07/23 Python
Django 源码WSGI剖析过程详解
2019/08/05 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
Python列表嵌套常见坑点及解决方案
2020/09/30 Python
Python classmethod装饰器原理及用法解析
2020/10/17 Python
世界上最大的隐形眼镜商店:1-800 Contacts
2018/11/03 全球购物
2014端午节活动策划方案
2014/01/27 职场文书
签约仪式主持词
2014/03/19 职场文书
教师专业自荐信
2014/05/31 职场文书
八一建军节演讲稿
2014/09/10 职场文书
2014财务部年度工作总结
2014/12/08 职场文书
2016大学生暑期三下乡心得体会
2016/01/23 职场文书
Python matplotlib可视化之绘制韦恩图
2022/02/24 Python
win10忘记pin密码登录不了怎么办?win10忘记pin密码登不进去的解决方法
2022/07/07 数码科技