下面的调用函数依赖于双引号和单引号,如何将其转换为仅单引号并获得相同的结果?
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);