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

Strive-count      2022-02-10     759

关键词:

下面是一个简单的js对象:定义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())

5.JSON写法的扩展

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();

 

第184天:js创建对象的几种方式总结

1、面向对象编程(OOP)的特点:  抽象:抓住核心问题  封装:只能通过对象来访问方法  继承:从已有的对象下继承出新的对象  多态:多对象的不同形态一、创建对象的几种方式javascript创建对象简单的来说,无非... 查看详情

常见的几种单例模式写法(代码片段)

...单例的特殊类。一个类只有一个实例,即一个类只有一个对象实例。  对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;售票时,一共有100张票,可... 查看详情

总结js面向对象调用的几种模式

  一、工厂模式:类似于functionfunc(A,B){ varobj=newObject();obj.A=A;obj.B=B;returnobj;};varobts=func(‘name‘,‘ages‘);  二、构造函数模式:可用于构造特定类型的对象functioncreateObj(A,B){this.A=A;this.B=B;this.func=function(){aler 查看详情

java单例模式常见的几种写法(代码片段)

...懒汉模式,节约内存,只有使用到时才创建单例对象,可能会有线程安全问题饿汉模式,浪费内存,但可以由JVM类加载器去保证线程安全一、饿汉模式publicclassSingleton1/***饿汉式提 查看详情

js-javascript常见的创建对象的几种方式

1、通过Object构造函数或对象字面量创建单个对象  这些方式有明显的缺点:使用同一个接口创建很多对象,会产生大量的重复代码。为了解决这个问题,出现了工厂模式。2、工厂模式  考虑在ES中无法创建类(ES6前),开... 查看详情

sqlserver存储过程的几种常见写法分析,我们该用那种写法

 本文出处: http://www.cnblogs.com/wy123/p/5958047.html  最近发现还有不少做开发的小伙伴,在写存储过程的时候,在参考已有的不同的写法时,往往很迷茫,不知道各种写法孰优孰劣,该选用那种写法,以及各种写法优... 查看详情

js面向对象类

类的声明继承的几种方法 类的声明第一种functioncar(){this.name=‘name‘;}第二种。es6中新添加的classcar(){constructor(){this.name=‘name‘;}}继承的几种方法1.构造函数实现继承functionParent(){this.name=‘parent‘;}Parent.prototype.toSay=function(){ 查看详情

计算机语言的几种分类

...型3.强制类型和弱类型4.编译型,解释型,半编译半解释5.面向对象型和面向过程型----------####**1.高级语言和低级语言**##常见的低级语言有:机器码、汇编语言高级语言常见如:c,c++,java,python,PHP,c#,Ruby,go,kotlin,swift。... 查看详情

js函数表达的几种写法

(1)典型的函数声明functionslide(arguments){//...code/}(2)以函数表达式的形式定义函数varslide=function(arguments){//...code}他们有所区别:例子二是赋值给了一个变量 varslide=newObject(){//...code}个人理解构造函数是为了多个调用配合this&n... 查看详情

vue中app实例对象的几种写法

1.传统方法(练习小DEMO中用的这种)<scripttype="text/ecmascript">varapp=newVue({el:"#app",data:{message:"helloworld"}})</script>2.带有返回值的方法(实际项目中大多用的这种,优点下面会讲到)<scripttype="text/javascript">varapp=n 查看详情

sqlserver存储过程中处理多个查询条件的几种常见写法分析,我们该用那种写法(代码片段)

本文出处: http://www.cnblogs.com/wy123/p/5958047.html  最近发现还有不少做开发的小伙伴,在写存储过程的时候,在参考已有的不同的写法时,往往很迷茫,不知道各种写法孰优孰劣,该选用那种写法,以及各种写法优缺点... 查看详情

js创建对象的几种方式

面向对象就是把属性和操作属性的方法放在一起作为一个相互依存的整体——对象,即拥有类的概念,基于类可以创建任意多个实例对象,一般具有封装、继承、多态的特性!ECMA-262把对象定义为:“无序属性的集合,其属性可... 查看详情

js确保正确this的几种写法

1.直接用bind调用this.method.bind(this)2.构造函数中用bind定义classFoo{constructor(){this.method=this.method.bind(this);}}3.用箭头函数定义或调用//定义classFoo{constructor(){//定义1this.method1=()=>{this.xxx=b;}}//定义2method2:() 查看详情

关于dtd的几种写法(代码片段)

...dtd之后会用,所以在这里记录些常用写法  1.这是将dtd对象置于方法体里的  varwait=function(dtd)    vardtd=$.Deferred();//在函数内部,新建一个Deferred对象    vartasks=function()      alert("执行完毕!");      dt... 查看详情

面向对象的几种设计模式

第一种模式:工厂模式functionParent(){     //原料 varChild=newObject();//创建对象     //加工 Child.name="aaa";//对象属性 Child.age="30"; child.fn=fn;//对象方法    //出厂    returnChild;//一定要返回该对象};varfn=function(){ return... 查看详情

单例模式的几种写法的差异

...这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,... 查看详情

[js高手之路]javascript面向对象写法与应用

一、什么是对象?对象是n个属性和方法组成的集合,如js内置的document,Date,Regexp,Math等等document就是有很多的属性和方法,如:getElementById,getElementsByTagName等等这些就是document对象支持的方法,那么我们常见的onclick,onmouseover,onmouseout... 查看详情

java的for循环的几种写法

...环,可以用更简单地方式来遍历数组和Collection等类型的对象。本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类,并解释和这一机制的一些常见问题。 在Java程序中,要“逐一处理”――或者说,“遍... 查看详情