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 相关文章推荐
基于jquery实现的文字淡入淡出效果
Nov 14 Javascript
jQuery照片伸缩效果不影响其他元素的布局
May 09 Javascript
jQuery功能函数详解
Feb 01 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
Mar 17 Javascript
悬浮广告方法日常收集整理
Mar 18 Javascript
解决Angular.Js与Django标签冲突的方案
Dec 20 Javascript
原生js实现对Ajax的封装(仿jquery)
Jan 22 Javascript
javascript观察者模式实现自动刷新效果
Sep 05 Javascript
详解Angular2学习笔记之Html属性绑定
Jan 03 Javascript
微信小程序实现折叠面板
Jan 31 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
Sep 06 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
Feb 26 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
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
php 正则 过滤html 的超链接
2009/06/02 PHP
php遍历文件夹和文件列表示例分享
2014/03/11 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
2015/12/31 PHP
PHP中file_exists使用中遇到的问题小结
2016/04/05 PHP
一些有关检查数据的JS代码
2006/09/07 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
js 控制下拉菜单刷新的方法
2013/03/03 Javascript
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
Jquery 在页面加载后执行的几种方式
2014/03/14 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
去除字符串左右两边的空格(实现代码)
2016/05/12 Javascript
jQuery animate easing使用方法图文详解
2016/06/17 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
js获取html页面代码中图片地址的实现代码
2018/03/05 Javascript
JS实现json对象数组按对象属性排序操作示例
2018/05/18 Javascript
JS实现简单的点赞与踩功能示例
2018/12/05 Javascript
Python编程入门之Hello World的三种实现方式
2015/11/13 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
举例讲解Python的lambda语句声明匿名函数的用法
2016/07/01 Python
Django中Model的使用方法教程
2018/03/07 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
python导入坐标点的具体操作
2019/05/10 Python
python视频按帧截取图片工具
2019/07/23 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
python或C++读取指定文件夹下的所有图片
2019/08/31 Python
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
2020/04/15 Python
美国唇部护理专家:Sara Happ
2019/06/19 全球购物
家庭教育先进个人事迹材料
2014/01/24 职场文书
元旦获奖感言
2014/03/08 职场文书
2014旅游局党组书记党建工作汇报材料
2014/11/02 职场文书
内勤岗位职责
2015/02/10 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
关于做家务的心得体会
2016/01/23 职场文书
MySQL学习总结-基础架构概述
2021/04/05 MySQL