在javascript中以字符串形式编写复杂代码

在javascript中以字符串形式编写复杂代码,javascript,blockly,google-blockly,Javascript,Blockly,Google Blockly,我正在用自己的JavaScript代码设计自定义块块,当我试图输出为字符串的代码是一行时,这并不复杂,但当我试图将代码关联到自定义块时,通过串联变量来实现,双引号它开始变得混乱,并生成语法错误很难排除的代码 下面是一个简单块的代码,我现在的做法是: this.EnableAllItems = function (block) { var target_field = block.getField('target_field'); var code = "$('#" + targe

我正在用自己的JavaScript代码设计自定义
块,当我试图输出为字符串的代码是一行时,这并不复杂,但当我试图将代码关联到自定义块时,通过串联变量来实现,双引号它开始变得混乱,并生成语法错误很难排除的代码

下面是一个简单块的代码,我现在的做法是:

this.EnableAllItems = function (block) {
    var target_field = block.getField('target_field');
    var code = "$('#" + target_field.getText() + " option').removeAttr('disabled');\r\n";
    return code;
}
这是一个用于启用
选择
输入中的所有
选项的块

适用于简单代码。但我希望能够做到的是按照字面意思编写JS代码,并在以后将其转换为字符串

这样的事情是否可能:

function enableItemsLogic(targetField) {
    $('#' + targetField + ' option').removeAttr('disabled'); 
} 

this.EnableAllItems = function (block) {
    var target_field = block.getField('target_field');
    //somehow return the above function as code with the literal parameter filled in ?
    var code = enableItemsLogic(target_field.getText());
    return code;
}

有什么JS技巧可以让我这么做吗

您可以为此使用模板文本(如果您传输JavaScript,这是ES5的一项功能)


在这里阅读更多信息:

我找到了另一种方法,但无论如何,我肯定会对此进行研究。
const name = "Francis";
const foo = `Hello my name is: ${name}`;