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 相关文章推荐
终于解决了IE8不支持数组的indexOf方法
Apr 03 Javascript
css样式标签和js语法属性区别
Nov 06 Javascript
jQuery中triggerHandler()方法用法实例
Jan 19 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
Sep 12 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
May 20 jQuery
vue实现多条件和模糊搜索功能
May 28 Javascript
express框架下使用session的方法
Jul 31 Javascript
vue-cli+iview项目打包上线之后图标不显示问题及解决方法
Oct 16 Javascript
详解如何在Javascript和Sass之间共享变量
Nov 13 Javascript
JS实现盒子拖拽效果
Feb 06 Javascript
微信小程序实现搜索框功能及踩过的坑
Jun 19 Javascript
微信小程序实现身份证取景框拍摄
Sep 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
php提交过来的数据生成为txt文件
2016/04/28 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
javascript创建对象的3种方法
2016/11/02 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
js实现数组去重方法及效率?Ρ? target=
2017/02/14 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
2017/03/23 jQuery
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
vue store之状态管理模式的详细介绍
2019/06/13 Javascript
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
2019/12/29 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
[02:46]2014DOTA2国际邀请赛 选手为你解读比赛MVP充满梦想
2014/07/09 DOTA
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
Python中json格式数据的编码与解码方法详解
2016/07/01 Python
浅谈DataFrame和SparkSql取值误区
2018/06/09 Python
Python使用itertools模块实现排列组合功能示例
2018/07/02 Python
python解析xml简单示例
2019/06/21 Python
python实现全排列代码(回溯、深度优先搜索)
2020/02/26 Python
Django REST Swagger实现指定api参数
2020/07/07 Python
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
Baracuta官方网站:Harrington夹克,G9,G4,G10等
2018/03/06 全球购物
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
商务日语毕业生自荐信范文
2013/11/14 职场文书
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
六查六看自查报告
2014/10/14 职场文书
2014年银行个人工作总结
2014/12/05 职场文书
给老婆的保证书
2015/01/16 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
2021/06/26 Java/Android