一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

构造函数的转化方法、装置、计算机设备及存储介质与流程

2022-07-16 10:18:25 来源:中国专利 TAG:


1.本技术涉及应用开发领域,特别是涉及到一种构造函数的转化方法、装置、计算机设备及存储介质。


背景技术:

2.目前,目前在前端语法中,对于通用功能的封装,特别是对于一些通用的功能组件、通用函数方法,往往是采用编程领域普遍采用的面向对象的构造函数进行实现,而构造函数的底层语法逻辑复杂,与传统的编程语言的面向对象语法具有非常大的差异,改造难度打,导致整体的代码可阅读性、可维护性较差,对于一些已存在通过构造函数语法编写的通用功能来说,后期在维护、新增功能开发上依然只能采用该语法,增加了非常大的维护、开发成本。


技术实现要素:

3.本技术的主要目的为提供一种构造函数的转化方法、装置、计算机设备及存储介质,旨在解决工程项目中构造函数的语法复杂,改造难度大的问题。
4.为了实现上述发明目的,本技术提出一种构造函数的转化方法,所述方法包括:
5.获取工程项目的开发文件;
6.遍历所述开发文件,获取所述工程项目的js文件;
7.读取所述js文件,获取所述js文件中的基于面向对象编写的构造函数;
8.识别所述构造函数,获取所述构造函数的语法结构;
9.根据所述构造函数的语法结构匹配预设的类语法结构;
10.根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数,以及生成修改后的js文件。
11.进一步地,所述读取所述js文件,获取所述js文件中的基于面向对象编写的构造函数,包括:
12.读取所述js文件,查找所述js文件内是否存在预设的关键字;
13.若是,根据所述关键字定位所述js文件中的函数信息;
14.判断所述函数信息中是否包含实例化操作;
15.若是,确定所述函数信息对应的方法函数为基于面向对象编写的构造函数。
16.进一步地,所述根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数之后,所述方法还包括:
17.根据所述关键字定位所述js文件中所述构造函数的函数信息;
18.将所述构造函数的函数信息删除,以生成修改后的js文件。
19.进一步地,所述根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数,包括:
20.初始化类语法框架内容;
21.在所述框架内容中通过类关键字,申明一个类,类名为所述构造函数的函数名称;
22.在所述类的内部内容中添加所述类语法结构;
23.根据所述类的类语法结构对所述构造函数进行编译,生成类函数。
24.进一步地,所述根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数之后,所述方法还包括:
25.识别所述js文件,获取所述构造函数的继承关系;
26.根据所述继承关系确定所述构造函数的继承函数;
27.将所述继承函数的语法结构进行类语法结构的编译,生成所述继承函数对应的类函数。
28.进一步地,所述识别所述js文件,获取所述构造函数的继承关系,包括:
29.识别所述js文件,获取所述构造函数的内部调用参数以及入参传入参数;
30.基于所述内部调用参数与入参传入参数确定所述构造函数为内部调用实现继承关系;和/或,
31.识别所述js文件,获取所述构造函数的原型属性;
32.基于所述原型属性的实例信息确定所述构造函数为原型链方式实现继承关系。
33.进一步地,所述遍历所述开发文件,获取所述工程项目的js文件,包括:
34.遍历所述开发文件,获取所述工程项目的若干个js文件;
35.获取所述js文件的关联关系;
36.根据从下至上的所述关联关系依次选取一个js文件作为待执行js文件,以将所述待执行js文件的构造函数转化为类函数。
37.本技术还提供一种构造函数的转化装置,所述装置包括:
38.文件获取模块,用于获取工程项目的开发文件;
39.文件遍历模块,用于遍历所述开发文件,获取所述工程项目的js文件;
40.函数读取模块,用于读取所述js文件,获取所述js文件中的基于面向对象编写的构造函数;
41.函数识别模块,用于识别所述构造函数,获取所述构造函数的语法结构;
42.语法匹配模块,用于根据所述构造函数的语法结构匹配预设的类语法结构;
43.函数转化模块,用于根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数,以及生成修改后的js文件。
44.本技术还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述构造函数的转化方法。
45.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述构造函数的转化方法。
46.本技术例提供了一种对工程项目前端使用到的构造函数转化的方法,通过开发一个编译工具,用于对工程项目前端中使用到的构造函数进行编译,编译为逻辑简单、易维护的类函数,首先获取工程项目的开发文件,通过将所述编译工具添到当前工程项目的框架中,再定位所述工程项目的项目根目录,获取所述工程项目的开发文件,遍历所述开发文件,获取所述工程项目的js文件,从所述开发文件中查找到所有文件名包含.js的文件,作为工程项目的js文件,读取所述js文件,获取所述js文件中的基于面向对象编写的构造函
数,当所述js文件中存在具有所述构造函数的编写特征的代码信息时,确定所述代码信息为js文件中的基于面向对象编写的构造函数,识别所述构造函数,获取所述构造函数的语法结构,通过识别所述构造函数的语法特征,能够知晓所述构造函数的功能、类型、所涉及的参数等,再根据所述构造函数的语法结构匹配预设的类语法结构,根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数,从而智能识别构造函数的语法,再将构造函数的语法按照类语法进行编译实现转化,免去了开发者对原有的构造函数的重新整理工作,由于构造函数的语法编码方式较为复杂,代码量较多,通过将构造函数编译为类函数后,使得代码量减少,工程项目整体代码更加简洁,提升了整体工程项目的维护便捷性以及阅读性便捷性。
附图说明
47.图1为本技术构造函数的转化方法的一实施例流程示意图;
48.图2为本技术读取所述js文件,获取所述js文件中的基于面向对象编写的构造函数的一实施例流程示意图;
49.图3为本技术生成类函数之后的一实施例流程示意图;
50.图4为本技术根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数的一实施例流程示意图;
51.图5为本技术生成类函数之后的一实施例流程示意图;
52.图6为本技术识别所述js文件,获取所述构造函数的继承关系的一实施例流程示意图;
53.图7为本技术遍历所述开发文件,获取所述工程项目的js文件的一实施例流程示意图;
54.图8为本技术构造函数的转化装置的一实施例结构示意图;
55.图9为本技术计算机设备的一实施例结构示意框图。
56.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
57.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
58.参照图1,本技术实施例提供一种构造函数的转化方法,所述构造函数的转化方法包括步骤s101-s106,对于所述构造函数的转化方法的各个步骤的详细阐述如下。
59.s101、获取工程项目的开发文件。
60.本实施例应用于工程项目的开发场景,尤其是对工程项目前端中使用到构造函数对通用功能的封装的开发场景,通过开发一个编译工具,用于对工程项目前端中使用到的构造函数进行编译,编译为逻辑简单、易维护的类函数。本实施例中,首先,获取工程项目的开发文件,在一种实施方式中,通过命令行,执行命令,npm i transform-to-es6-class-d,将所述编译工具添到当前工程项目的框架中,再定位所述工程项目的项目根目录,获取所述工程项目的开发文件。
61.s102、遍历所述开发文件,获取所述工程项目的js文件。
62.本实施例中,在获取所述工程项目的开发文件之后,由于所述开发文件中包含了大量不同类型的文件,比如数据库文件,配置文件,js文件,各个模块的开发文档文件等等,具体的,遍历所述目录地址下的所述开发文件,获取所述工程项目的js文件,所述js文件为将javascript脚本放入一个文件类并以js扩展名命名一种文本脚本文件,用于设置工程项目前端的展示内容与展示效果及加载相应的数据。在一种实施方式中,通过设定遍历的规则,如设定规则为“文件名包含.js”,然后根据该规则遍历所述开发文件,从所述开发文件中查找到所有文件名包含.js的文件,作为工程项目的js文件。
63.s103、读取所述js文件,获取所述js文件中的基于面向对象编写的构造函数。
64.本实施例中,在遍历所述开发文件,获取所述工程项目的js文件之后,读取所述js文件,获取所述js文件中的基于面向对象编写的构造函数,具体的,通过配置构造函数的编写特征,然后遍历所述js文件,当所述js文件中存在具有所述构造函数的编写特征的代码信息时,确定所述代码信息为js文件中的基于面向对象编写的构造函数。
65.s104、识别所述构造函数,获取所述构造函数的语法结构。
66.本实施例中,在读取所述js文件,获取所述js文件中的基于面向对象编写的构造函数之后,由于构造函数的类型多种多样,不同的构造函数具有不同的语法结构特征,因此,在确定了js文件中的某一段代码信息为构造函数后,识别所述构造函数,获取所述构造函数的语法结构,即提取所述构造函数的编写特征,通过识别所述构造函数的语法特征,能够知晓所述构造函数的功能、类型、所涉及的参数等,以对所述构造函数进行编译。
67.s105、根据所述构造函数的语法结构匹配预设的类语法结构。
68.本实施例中,在识别所述构造函数,获取所述构造函数的语法结构之后,根据所述构造函数的语法结构匹配预设的类语法结构,所述编译工具中为不同语法结构的构造函数配置了相对应的类函数(class函数)以及所述类函数的语法特征,定义为类语法特征,从而根据所述构造函数的语法结构匹配预设的类语法结构。
69.s106、根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数,以及生成修改后的js文件。
70.本实施例中,在根据所述构造函数的语法结构匹配预设的类语法结构之后,根据所述类语法结构对所述构造函数的语法结构进行编译,具体的,通过识别到所述构造函数的语法结构,对所述构造函数进行分割,分割为多个区域的语法结构,然后基于匹配到的类语法结构对分割后的每一个区域的构造函数的语法结构进行编译,将构造函数的语法结构转化为类函数的语法结构,然后将多个区域编译完成后的类函数的语法结构进行组合,生成类函数,从而将工程项目js文件中的构造函数转化为类函数,当js文件中的构造函数转化为类函数之后,基于转化后的类函数生成修改后的js文件,智能识别构造函数的语法,再将构造函数的语法按照类语法进行编译实现转化,免去了开发者对原有的构造函数的重新整理工作,由于构造函数的语法编码方式较为复杂,代码量较多,通过将构造函数编译为类函数后,使得代码量减少,工程项目整体代码更加简洁,提升了整体工程项目的可维护性和可阅读性。
71.本实施例提供了一种对工程项目前端使用到的构造函数转化的方法,通过开发一个编译工具,用于对工程项目前端中使用到的构造函数进行编译,编译为逻辑简单、易维护
的类函数,首先获取工程项目的开发文件,通过将所述编译工具添到当前工程项目的框架中,再定位所述工程项目的项目根目录,获取所述工程项目的开发文件,遍历所述开发文件,获取所述工程项目的js文件,从所述开发文件中查找到所有文件名包含.js的文件,作为工程项目的js文件,读取所述js文件,获取所述js文件中的基于面向对象编写的构造函数,当所述js文件中存在具有所述构造函数的编写特征的代码信息时,确定所述代码信息为js文件中的基于面向对象编写的构造函数,识别所述构造函数,获取所述构造函数的语法结构,通过识别所述构造函数的语法特征,能够知晓所述构造函数的功能、类型、所涉及的参数等,再根据所述构造函数的语法结构匹配预设的类语法结构,根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数,从而智能识别构造函数的语法,再将构造函数的语法按照类语法进行编译实现转化,免去了开发者对原有的构造函数的重新整理工作,由于构造函数的语法编码方式较为复杂,代码量较多,通过将构造函数编译为类函数后,使得代码量减少,工程项目整体代码更加简洁,提升了整体工程项目的维护便捷性以及阅读性便捷性。
72.在一个实施例中,如图2所示,所述读取所述js文件,获取所述js文件中的基于面向对象编写的构造函数,还包括步骤s201-204:
73.s201,读取所述js文件,查找所述js文件内是否存在预设的关键字;
74.s202,若是,根据所述关键字定位所述js文件中的函数信息;
75.s203,判断所述函数信息中是否包含实例化操作;
76.s204,若是,确定所述函数信息对应的方法函数为基于面向对象编写的构造函数。
77.本实施例中,在获取所述js文件中的基于面向对象编写的构造函数过程中,读取所述js文件,查找所述js文件内是否存在预设的关键字,若是,根据所述关键字定位所述js文件中的函数信息,在一种实施方式中,当出现关键字“function”的时候,说明这段代码是一个函数的申明,然后根据所述关键字定位到对应的函数信息,首先识别所述函数名称,然后查找关于该函数名称对应的代码信息,作为所述函数信息,再判断所述函数信息中是否包含实例化操作,实例化操作是构造函数实现面向对象编程的必要依据,当所述函数信息中包含实例化操作时,确定所述函数信息对应的方法函数为基于面向对象编写的构造函数,从而快速地查找所述js文件中的基于面向对象编写的构造函数,提高构造函数的查找效率。
78.在一个实施例中,如图3所示,所述根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数之后,还包括步骤s301-s302:
79.s301,根据所述关键字定位所述js文件中所述构造函数的函数信息;
80.s302,将所述构造函数的函数信息删除,以生成修改后的js文件。
81.本实施例中,在根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数之后,需要对原来的构造函数进行屏蔽及删除,具体的,根据所述关键字定位所述js文件中所述构造函数的函数信息,然后将所述构造函数的函数信息删除,以生成修改后的js文件,避免同一个js文件中存在相同函数名称及功能的两个函数,避免工程项目程序出错,提高构造函数转化的准确性。
82.在一个实施例中,如图4所示,所述根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数,包括步骤s401-s404:
83.s401,初始化类语法框架内容;
84.s402,在所述框架内容中通过类关键字,申明一个类,类名为所述构造函数的函数名称;
85.s403,在所述类的内部内容中添加所述类语法结构;
86.s404,根据所述类的类语法结构对所述构造函数进行编译,生成类函数。
87.本实施例中,在根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数的过程中,首先初始化类语法框架内容,然后在所述框架内容中通过类关键字,申明一个类,类名为所述构造函数的函数名称,再在所述类的内部内容中添加所述类语法结构,根据所述类的类语法结构对所述构造函数进行编译,生成类函数,具体的,在类的内部内容中,首先通过constructor申明一个函数方法,该函数方法是用于实例化,首先需要执行申明的静态属性,将静态属性申明迁移到constructor函数内、将方法迁移到class类第一层级,在原构造函数内如果存在入参,则在class类语法中,也需要将这部分动态传入的变量(入参)进行保留使用;在原构造函数内,如果使用this关键字设置通过构造函数实例化出来的实例的静态属性,在class类函数中,将该静态属性写入至通过constructor关键字创建的函数方法中,从而完成对构造函数进行编译,生成类函数,提高构造函数转化为类函数的准确性。
88.在一个实施例中,如图5所示,所述根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数之后,还包括步骤s501-s503:
89.s501,识别所述js文件,获取所述构造函数的继承关系;
90.s502,根据所述继承关系确定所述构造函数的继承函数;
91.s503,将所述继承函数的语法结构进行类语法结构的编译,生成所述继承函数对应的类函数。
92.本实施例中,在根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数之后,需要对于原构造函数被继承的场景对应的构造函数进行编译,具体的,识别所述js文件,获取所述构造函数的继承关系,根据所述继承关系确定所述构造函数的继承函数,当查找到相应的继承函数后,根据上述对构造函数的转化方法对所述继承函数进行转化,及将所述继承函数的语法结构进行类语法结构的编译,生成所述继承函数对应的类函数,从而完成工程项目具有继承关系的构造函数的转化,提高构造函数转化为类函数的准确性。
93.在一个实施例中,如图6所示,所述识别所述js文件,获取所述构造函数的继承关系,包括步骤s601-s604:
94.s601,识别所述js文件,获取所述构造函数的内部调用参数以及入参传入参数;
95.s602,基于所述内部调用参数与入参传入参数确定所述构造函数为内部调用实现继承关系;和/或,
96.s603,识别所述js文件,获取所述构造函数的原型属性;
97.s604,基于所述原型属性的实例信息确定所述构造函数为原型链方式实现继承关系。
98.本实施例中,在获取所述构造函数的继承关系的过程中,首先识别所述js文件,获取所述构造函数的内部调用参数以及入参传入参数,基于所述内部调用参数与入参传入参
数确定所述构造函数为内部调用实现继承关系,一种继承方式是通过在其他构造函数内部调用call方法实现的继承,查看原有的构造函数,若在构造函数内部存在用其他构造函数通过call关键字进行调用,并把this关键字作为入参传入的情况,则确定所述构造函数为内部调用实现继承关系;另一种继承方式是通过原型链方式的实现的继承,查找当前文件内部、或者引用当前文件的文件内部,是否存在将当前构造函数的prototype属性设置为另一个构造函数通过new关键字生成的实例,若是,则确定所述构造函数为原型链方式实现继承关系,从而提高具有继承关系的构造函数的识别准确性。
99.在一个实施例中,如图7所示,所述遍历所述开发文件,获取所述工程项目的js文件,包括步骤s701-s703:
100.s701,遍历所述开发文件,获取所述工程项目的若干个js文件;
101.s702,获取所述js文件的关联关系;
102.s703,根据从下至上的所述关联关系依次选取一个js文件作为待执行js文件,以将所述待执行js文件的构造函数转化为类函数。
103.本实施例中,在遍历所述开发文件,获取所述工程项目的js文件的过程中,遍历所述开发文件,获取所述工程项目的若干个js文件,然后获取所述js文件的关联关系,再根据从下至上的所述关联关系依次选取一个js文件作为待执行js文件,从最底层的js文件进行转化,再依次转化上一层的js文件,以将所述待执行js文件的构造函数转化为类函数,从而完成工程项目全局的js文件的构造函数转化,提高构造函数转化的覆盖率。
104.参照图8,本技术还提供一种构造函数的转化装置,包括:
105.文件获取模块101,用于获取工程项目的开发文件;
106.文件遍历模块102,用于遍历所述开发文件,获取所述工程项目的js文件;
107.函数读取模块103,用于读取所述js文件,获取所述js文件中的基于面向对象编写的构造函数;
108.函数识别模块104,用于识别所述构造函数,获取所述构造函数的语法结构;
109.语法匹配模块105,用于根据所述构造函数的语法结构匹配预设的类语法结构;
110.函数转化模块106,用于根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数,以及生成修改后的js文件。
111.如上所述,可以理解地,本技术中提出的所述构造函数的转化装置的各组成部分可以实现如上所述构造函数的转化方法任一项的功能。
112.在一个实施例中,所述读取所述js文件,获取所述js文件中的基于面向对象编写的构造函数,包括:
113.读取所述js文件,查找所述js文件内是否存在预设的关键字;
114.若是,根据所述关键字定位所述js文件中的函数信息;
115.判断所述函数信息中是否包含实例化操作;
116.若是,确定所述函数信息对应的方法函数为基于面向对象编写的构造函数。
117.在一个实施例中,所述根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数之后,所述方法还包括:
118.根据所述关键字定位所述js文件中所述构造函数的函数信息;
119.将所述构造函数的函数信息删除,以生成修改后的js文件。
120.在一个实施例中,所述根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数,包括:
121.初始化类语法框架内容;
122.在所述框架内容中通过类关键字,申明一个类,类名为所述构造函数的函数名称;
123.在所述类的内部内容中添加所述类语法结构;
124.根据所述类的类语法结构对所述构造函数进行编译,生成类函数。
125.在一个实施例中,所述根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数之后,所述方法还包括:
126.识别所述js文件,获取所述构造函数的继承关系;
127.根据所述继承关系确定所述构造函数的继承函数;
128.将所述继承函数的语法结构进行类语法结构的编译,生成所述继承函数对应的类函数。
129.在一个实施例中,所述识别所述js文件,获取所述构造函数的继承关系,包括:
130.识别所述js文件,获取所述构造函数的内部调用参数以及入参传入参数;
131.基于所述内部调用参数与入参传入参数确定所述构造函数为内部调用实现继承关系;和/或,
132.识别所述js文件,获取所述构造函数的原型属性;
133.基于所述原型属性的实例信息确定所述构造函数为原型链方式实现继承关系。
134.在一个实施例中,所述遍历所述开发文件,获取所述工程项目的js文件,包括:
135.遍历所述开发文件,获取所述工程项目的若干个js文件;
136.获取所述js文件的关联关系;
137.根据从下至上的所述关联关系依次选取一个js文件作为待执行js文件,以将所述待执行js文件的构造函数转化为类函数。
138.参照图9,本技术实施例中还提供一种计算机设备,该计算机设备可以是移动终端,其内部结构可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和显示装置及输入装置。其中,该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示装置用于显示离线应用。该计算机设备的输入装置用于接收用户在离线应用的输入。该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质。该非易失性存储介质存储有操作系统、计算机程序和数据库。该计算机设备的数据库用于存放原始数据。该计算机程序被处理器执行时以实现一种构造函数的转化方法。
139.上述处理器执行上述的构造函数的转化方法,所述方法包括:获取工程项目的开发文件;遍历所述开发文件,获取所述工程项目的js文件;读取所述js文件,获取所述js文件中的基于面向对象编写的构造函数;识别所述构造函数,获取所述构造函数的语法结构;根据所述构造函数的语法结构匹配预设的类语法结构;根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数,以及生成修改后的js文件。
140.所述计算机设备提供了一种对工程项目前端使用到的构造函数转化的方法,通过开发一个编译工具,用于对工程项目前端中使用到的构造函数进行编译,编译为逻辑简单、易维护的类函数,首先获取工程项目的开发文件,通过将所述编译工具添到当前工程项目
的框架中,再定位所述工程项目的项目根目录,获取所述工程项目的开发文件,遍历所述开发文件,获取所述工程项目的js文件,从所述开发文件中查找到所有文件名包含.js的文件,作为工程项目的js文件,读取所述js文件,获取所述js文件中的基于面向对象编写的构造函数,当所述js文件中存在具有所述构造函数的编写特征的代码信息时,确定所述代码信息为js文件中的基于面向对象编写的构造函数,识别所述构造函数,获取所述构造函数的语法结构,通过识别所述构造函数的语法特征,能够知晓所述构造函数的功能、类型、所涉及的参数等,再根据所述构造函数的语法结构匹配预设的类语法结构,根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数,从而智能识别构造函数的语法,再将构造函数的语法按照类语法进行编译实现转化,免去了开发者对原有的构造函数的重新整理工作,由于构造函数的语法编码方式较为复杂,代码量较多,通过将构造函数编译为类函数后,使得代码量减少,工程项目整体代码更加简洁,提升了整体工程项目的维护便捷性以及阅读性便捷性。
141.本技术一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被所述处理器执行时实现一种构造函数的转化方法,包括步骤:获取工程项目的开发文件;遍历所述开发文件,获取所述工程项目的js文件;读取所述js文件,获取所述js文件中的基于面向对象编写的构造函数;识别所述构造函数,获取所述构造函数的语法结构;根据所述构造函数的语法结构匹配预设的类语法结构;根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数,以及生成修改后的js文件。
142.所述计算机可读存储介质提供了一种对工程项目前端使用到的构造函数转化的方法,通过开发一个编译工具,用于对工程项目前端中使用到的构造函数进行编译,编译为逻辑简单、易维护的类函数,首先获取工程项目的开发文件,通过将所述编译工具添到当前工程项目的框架中,再定位所述工程项目的项目根目录,获取所述工程项目的开发文件,遍历所述开发文件,获取所述工程项目的js文件,从所述开发文件中查找到所有文件名包含.js的文件,作为工程项目的js文件,读取所述js文件,获取所述js文件中的基于面向对象编写的构造函数,当所述js文件中存在具有所述构造函数的编写特征的代码信息时,确定所述代码信息为js文件中的基于面向对象编写的构造函数,识别所述构造函数,获取所述构造函数的语法结构,通过识别所述构造函数的语法特征,能够知晓所述构造函数的功能、类型、所涉及的参数等,再根据所述构造函数的语法结构匹配预设的类语法结构,根据所述类语法结构对所述构造函数的语法结构进行编译,生成类函数,从而智能识别构造函数的语法,再将构造函数的语法按照类语法进行编译实现转化,免去了开发者对原有的构造函数的重新整理工作,由于构造函数的语法编码方式较为复杂,代码量较多,通过将构造函数编译为类函数后,使得代码量减少,工程项目整体代码更加简洁,提升了整体工程项目的维护便捷性以及阅读性便捷性。
143.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括
随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
144.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
145.以上所述仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献