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 相关文章推荐
推荐:极酷右键菜单
Nov 29 Javascript
javascript 二分法(数组array)
Apr 24 Javascript
Dom在ajax技术中的作用说明
Oct 25 Javascript
jquery插件orbit.js实现图片折叠轮换特效
Apr 14 Javascript
js实现的彩色方块飞舞奇幻效果
Jan 27 Javascript
js实现(全选)多选按钮的方法【附实例】
Mar 30 Javascript
jQuery Ajax全解析
Feb 13 Javascript
Bootstrap 3 按钮标签实例代码
Feb 21 Javascript
Angular1.x复杂指令实例详解
Mar 01 Javascript
详解JavaScript按概率随机生成事件
Aug 02 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
Dec 22 Javascript
JavaScript寄生组合式继承实例详解
Jan 06 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邮件类
2007/01/03 PHP
PHP 输出URL的快捷方式示例代码
2013/09/22 PHP
对比分析php中Cookie与Session的异同
2016/02/19 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
2016/10/18 PHP
laravel自定义分页效果
2017/07/23 PHP
PHP开发实现微信退款功能示例
2017/11/25 PHP
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
轻松实现js弹框显示选项
2016/09/13 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
Vue.js对象转换实例
2017/06/07 Javascript
详解Nuxt.js Vue服务端渲染摸索
2018/02/08 Javascript
解决vue的变量在settimeout内部效果失效的问题
2018/08/30 Javascript
解决axios会发送两次请求,有个OPTIONS请求的问题
2018/10/25 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
2019/04/23 Javascript
js实现无缝轮播图特效
2020/05/09 Javascript
jquery实现简单拖拽效果
2020/07/20 jQuery
利用JavaScript为句子加标题的3种方法示例
2021/01/05 Javascript
python根据文件大小打log日志
2014/10/09 Python
python检查序列seq是否含有aset中项的方法
2015/06/30 Python
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
django中的HTML控件及参数传递方法
2018/03/20 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
2018/05/24 Python
python利用selenium进行浏览器爬虫
2019/04/25 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
2020/02/11 Python
打造经典复古风格的品牌:Alice + Olivia(爱丽丝+奥利维亚)
2016/09/07 全球购物
毕业生求职信的经典写法
2014/01/31 职场文书
小小商店教学反思
2014/04/27 职场文书
乡镇三严三实学习心得体会
2014/10/13 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
nginx 多个location转发任意请求或访问静态资源文件的实现
2021/03/31 Servers