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

时间:2017-10-20 11:12:02

标签: javascript string

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

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

console.log(callFunction); // doTask.A('B')

3 个答案:

答案 0 :(得分:5)

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

您需要使用\

来转义单引号

答案 1 :(得分:1)

逃避单引号:



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

console.log(callFunction); // doTask.A('B')




或者,如果您将反引号视为单引号,则可以使用template literals



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

console.log(callFunction); // doTask.A('B')




答案 2 :(得分:0)

你没有调用函数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);