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 相关文章推荐
不用ajax实现点击文字即可编辑的方法
Dec 16 Javascript
关于JS数组追加数组采用push.apply的问题
Jun 09 Javascript
jQuery实现的导航动画效果(附demo源码)
Apr 01 Javascript
JavaScript中判断数据类型的方法总结
May 24 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
Aug 02 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
Aug 23 Javascript
js实现canvas保存图片为png格式并下载到本地的方法
Aug 31 Javascript
vue使用技巧及vue项目中遇到的问题
Jun 04 Javascript
微信小程序自定义组件之可清除的input组件
Jul 17 Javascript
使用JS判断页面是首次被加载还是刷新
May 26 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
Jun 04 Javascript
利用node.js开发cli的完整步骤
Dec 29 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
THINKPHP+JS实现缩放图片式截图的实现
2010/03/07 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
2011/04/07 PHP
PHP设计模式之责任链模式的深入解析
2013/06/13 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
详解js异步文件加载器
2016/01/24 PHP
thinkphp自带验证码全面解析
2016/09/18 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
JS将表单导出成EXCEL的实例代码
2013/11/11 Javascript
JS控制一个DIV层在指定时间内消失的方法
2014/02/17 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
Bootstrap Validator 表单验证
2016/07/25 Javascript
jQuery模拟窗口抖动效果
2017/03/15 Javascript
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
2017/09/23 jQuery
ES6学习笔记之map、set与数组、对象的对比
2018/03/01 Javascript
jQuery实现消息弹出框效果
2019/12/10 jQuery
JS script脚本中async和defer区别详解
2020/06/24 Javascript
[00:34]DOTA2上海特级锦标赛 VG战队宣传片
2016/03/04 DOTA
Python兔子毒药问题实例分析
2015/03/05 Python
处理Python中的URLError异常的方法
2015/04/30 Python
python直接访问私有属性的简单方法
2016/07/25 Python
Python简单实现控制电脑的方法
2018/01/22 Python
Python输出各行命令详解
2018/02/01 Python
详解多线程Django程序耗尽数据库连接的问题
2018/10/08 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
2019/05/29 Python
python else语句在循环中的运用详解
2020/07/06 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
css3高级选择器使用方法
2013/12/02 HTML / CSS
桥梁与隧道工程专业本科生求职信
2013/10/08 职场文书
以权谋私检举信范文
2015/03/02 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python
Nginx隐藏式跳转(浏览器URL跳转后保持不变)
2022/04/07 Servers