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 相关文章推荐
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
Sep 02 Javascript
清除div下面的所有标签的方法
Feb 17 Javascript
基于Jquery和html5的7款个性化地图插件
Nov 17 Javascript
JavaScript ParseFloat()方法
Dec 18 Javascript
JavaScript实现横线提示输入验证码随输入验证码输入消失的方法
Sep 24 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
May 05 Javascript
ztree实现权限横向显示功能
May 20 Javascript
ReactNative Image组件使用详解
Aug 07 Javascript
vue组件表单数据回显验证及提交的实例代码
Aug 30 Javascript
vue实现手机端省市区区域选择
Sep 27 Javascript
React中Ref 的使用方法详解
Apr 28 Javascript
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
Apr 24 Vue.js
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显示MySQL数据的三种方法
2008/06/05 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
鼠标经过的文本框textbox变色
2009/05/21 Javascript
分享五个有用的jquery小技巧
2015/10/08 Javascript
JS实现带提示的星级评分效果完整实例
2015/10/30 Javascript
Jquery中request和request.form和request.querystring的区别
2015/11/26 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
JS三级可折叠菜单实现方法
2016/02/29 Javascript
ajax跨域调用webservice的实现代码
2016/05/09 Javascript
js 获取经纬度的实现方法
2016/06/20 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
详解js的六大数据类型
2016/12/27 Javascript
Bootstrap面板使用方法
2017/01/16 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
Javasript设计模式之链式调用详解
2018/04/26 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
javascript实现商品图片放大镜
2019/11/28 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
jquery实现拖拽添加元素功能
2020/12/01 jQuery
python33 urllib2使用方法细节讲解
2013/12/03 Python
Python+OpenCV人脸检测原理及示例详解
2020/10/19 Python
python3.5 email实现发送邮件功能
2018/05/22 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
mac在matplotlib中显示中文的操作方法
2020/03/06 Python
python数据抓取3种方法总结
2021/02/07 Python
Guess荷兰官网:美国服饰品牌
2020/01/22 全球购物
C语言笔试题
2014/09/04 面试题
大型车展策划方案
2014/02/01 职场文书
农村党支部书记四风问题个人对照检查材料
2014/09/21 职场文书
博士生专家推荐信
2014/09/26 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python