带有单引号参数的 Javascript 字符串



下面的调用函数依赖于双引号和单引号,如何将其转换为仅单引号并获得相同的结果?

const task.func = 'A'
const task.arg = 'B'
const callFunction = "doTask."+task.func+"('"+task.arg+"')"
console.log(callFunction); // doTask.A('B')
const callFunction = 'doTask.' + task.func + '('' + task.arg + '')'

您需要使用转义单引号

转义单引号:

const task = {
  func: 'A',
  arg: 'B'
};
const callFunction = 'doTask.' + task.func + '('' + task.arg + '')';
console.log(callFunction); // doTask.A('B')

或者,如果您认为反引号是单引号,则可以使用模板文本:

const task = {
  func: 'A',
  arg: 'B'
};
const callFunction = `doTask.${task.func}('${task.arg}')`;
console.log(callFunction); // doTask.A('B')

你不是在调用函数func而只是在下面创建一个看起来像函数的字符串,

const callFunction = "doTask."+task.func+"('"+task.arg+"')";

此外,您不需要使用引号,只需提供变量名称作为参数。

尝试这样。

task = {};
task.func = function (arg){
  return 'func called with arg : '+arg;
};
task.arg = 'B';
const callFunction = 'doTask.'+task.func(task.arg);
console.log(callFunction);

最新更新