首页 > 解决方案 > 函数参数可以传递到字符串中吗?

问题描述

我正在用 javascript 制作一个计算器表,而且我一直在写作document.getElementById('x').innerHTML。我可以写一个函数来替换这段代码吗?例如:

function select (a) {
  return document.getElementById(${a}).innerHTML;
}

我看到的问题是,如果我在 中使用模板文字getElementById,则无法添加将字符串定义为字符串所需的引号。

回到上下文中,我在一个表中有许多单元格,每个单元格都有不同的 ID。为了让 js 更新每个单元格,我不得不反复写:document.getElementById('x').innerHTML. 这让我想知道,我可以写一个小函数让我跳过这个额外的输入吗?函数可以接受一个参数并用引号括起来返回它吗?

标签: javascripthtmlecmascript-6

解决方案


只是

var select = function(a) {
  return document.getElementById(a).innerHTML;
}
var ham = select('thing');

已经足够好了。系统已经知道那里有一个字符串,因为这是您调用select()函数时的类型。


如果您在为 分配值时尝试减少输入innerHTML,那么您也必须在函数体中执行此操作。为什么?因为一旦你从函数返回 innerHTML 字符串属性,它就是一个不可变的值,类似于说'a' = 'b'.

下面是分配函数的样子:

var assign = function( target, value) {
    document.getElementById(target).innerHTML = value;
}
assign('capitalGain', '$' + currency(initialGain));

推荐阅读