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 相关文章推荐
json 入门基础教程 推荐
Oct 31 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
May 23 Javascript
Struts2的s:radio标签使用及用jquery添加change事件
Apr 08 Javascript
js倒计时小程序
Nov 05 Javascript
js实现编辑div节点名称的方法
Dec 17 Javascript
JavaScript中匿名函数用法实例
Mar 23 Javascript
javascript创建函数的20种方式汇总
Jun 23 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
May 25 Javascript
json的使用小结
Jun 08 Javascript
jQuery实现的自定义滚动条实例详解
Sep 20 Javascript
canvas实现动态小球重叠效果
Feb 06 Javascript
vue.js删除列表中的一行
Jun 30 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闭包(Closure)使用详解
2013/05/02 PHP
使用PHP编写的SVN类
2013/07/18 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
PHP使用反射机制实现查找类和方法的所在位置
2016/04/22 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
JavaScript 原型链学习总结
2010/10/29 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
js open() 与showModalDialog()方法使用介绍
2013/09/10 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
2016/05/27 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
2016/06/29 Javascript
angularjs结合html5实现拖拽功能
2018/06/25 Javascript
nodejs 十六进制字符串型数据与btye型数据相互转换
2018/07/30 NodeJs
优雅的在React项目中使用Redux的方法
2018/11/10 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
2014/08/22 Python
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
对Python 3.5拼接列表的新语法详解
2018/11/08 Python
详解Python3注释知识点
2019/02/19 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
python批量图片处理简单示例
2019/08/06 Python
Python实现打印实心和空心菱形
2019/11/23 Python
pycharm如何实现跨目录调用文件
2020/02/28 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
python利用google翻译方法实例(翻译字幕文件)
2020/09/21 Python
SQL注入攻击的种类有哪些
2013/12/30 面试题
软件工程毕业生自荐信
2014/07/04 职场文书
电力培训心得体会
2014/09/02 职场文书
财务会计求职信范文
2015/03/20 职场文书
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python