重构函数到对象方法

时间:2017-05-18 08:47:35

标签: javascript regex netbeans refactoring

在了解了here后,我想稍微更改一些旧代码并转换具有此语法的函数:

function name(parameters) {
   code to be executed
} 

到变量内部的函数:

name : function(parameters) { code to be executed } 

有没有办法自动执行此操作? - 我在IDE的替换功能中考虑了一些RegEx用法,但我不确定这是否可行。 我使用的是NetBeans 8.0。

对我来说理想的解决方案:

我选择了这样的代码:

function add(x, y) {
    return x + y;
}

function subtract(x, y) {
    return x - y;
}

执行 1按钮/快捷键,所选代码更改为:

add: function(x, y) {
    return x + y;
},
subtract: function(x, y) {
    return x - y;
},

我必须围绕这些方法的变量不是问题,因为我想要创建的不是很多。但我有超过100个功能,我不想手动更改。

有没有人知道一个解决方案或至少另一种方法可以帮助我更快地解决这个问题,而不是每次更改一次功能超过一百次?

2 个答案:

答案 0 :(得分:1)

测试这个(一个接一个,不要做一个replaceAll来看看会发生什么):

find: \bfunction\s+(\w+)\s*\(
replace: \1: function (

或用1美元代替\ 1

答案 1 :(得分:0)

试试这个正则表达式找到:

/\bfunction\s([\w\W]+)\(/s

并替换:

$1 : function (