美文网首页Web前端之路技术干货程序员
归纳下js面向对象的几种常见写法

归纳下js面向对象的几种常见写法

作者: Bruce_zhuan | 来源:发表于2017-02-03 10:51 被阅读249次

//定义Circle类,拥有成员变量r,常量PI和计算面积的成员函数area()

1.工厂方式

varCircle =function() {varobj =newObject();

obj.PI= 3.14159;

obj.area=function( r ) {returnthis.PI * r *r;

}returnobj;

}varc =newCircle();

alert( c.area(1.0 ) );

2.比较正规的写法

functionCircle(r) {this.r =r;

}

Circle.PI= 3.14159;

Circle.prototype.area=function() {returnCircle.PI *this.r *this.r;

}varc =newCircle(1.0);

alert(c.area());

3.json写法

varCircle={

      "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;

       }

  }varobj=newCircle(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();

需要注意的是this的指向问题

相关文章

  • 归纳下js面向对象的几种常见写法

    //定义Circle类,拥有成员变量r,常量PI和计算面积的成员函数area() 1.工厂方式 varCircle...

  • js面向对象的几种写法

    1、工厂模式,像流水线 纠正,去掉new 2、构造函数模式 3、原型模式 4、构造函数+原型模式 5、json模式...

  • js面向对象的几种写法

    一、工厂模式 二、构造函数模式 三、原型模式 四、组合使用构造函数和原型模式 五、原型链继承 六、借用构造函数继承...

  • JS中的面向对象

    最近在复习JS基础,对于JS中的面向对象写法在此总结一下。 第一种:TS写法(ES6写法) 这种写法是在做项目里经...

  • JS 的面向对象

    JS 不是一门面向对象的语言,但是很多情况我们需要面向对象。 一、JS 继承的常用写法。 为什么一上来就写常用写法...

  • 编程大白话之-面向对象

    JS为什么要用面向对象的写法,下面引用一些理论性的知识来介绍一下面向对象。 面向对象的几大特点: 1封装好处:复用...

  • JS对象(2)- 常见的继承方式

    本文归纳js中常见的几种继承方式。通过如下的对象作为示例的父对象: 1. 原型链继承 子类的原型指向父类的实例来实...

  • JavaScript 继承

    继承是JS中非常内容,原因就是JS没有地道的继承方式,我们只能通过各种方式来模拟面向对象中的继承。下面介绍几种常见...

  • JavaScript常见的继承方式

    前言 JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么在JS中常见的继承方式有几种呢? 方式一、原...

  • ES6中的CLASS继承

    JS是一种基于对象的语言,要实现面向对象,写法跟传统的面向对象有很大的差异。ES6引入了Class语法糖,使得JS...

网友评论

    本文标题:归纳下js面向对象的几种常见写法

    本文链接:https://www.haomeiwen.com/subject/evcdittx.html