如何在Javascript中将字符串作为带引号的参数传递

How to pass a string as a parameter with any quotation marks in Javascript

本文关键字:参数传递 字符串 Javascript      更新时间:2023-09-26

我想问一个非常基本的问题。我需要找到如何将函数中的字符串值作为参数发送,上面没有任何引号。例如。我的html文件看起来像:-

<p id='demo'>
</p>

js代码为:-

function Random(data){
  document.getElementById("demo").data = "Paragraph changed!";
}
Random(textContent);

但它就是不起作用!那么,我可以使用其他技术来完成这项工作吗?还是基本上不可能?

您的代码是正确的,但如果您想使用字符串变量访问对象的属性,则需要这样做:

document.getElementById("demo")[data] = "Paragraph changed!"

你不能传递"没有引号"的字符串,在JS程序中,没有引号的文本不是字符串,而是表达式。

由于以下几个原因,您的代码没有按照您认为的方式工作。首先,您没有对传入的data参数执行任何操作。.data是使用getElementById检索到的DOM元素的属性。data是您正在访问的属性的文字名称,它不是对data参数值的引用。为了访问具有作为data变量传入的名称的属性,您需要使用括号表示法而不是点表示法来访问它:

function random(data) {
  document.getElementById("demo")[data] = "Paragraph changed!";
}
random("textContent");

您会注意到,我将函数名称从Random更改为random。这是因为JS中的惯例是只对构造函数使用大写名称。

它不起作用的另一个原因是你试图使用一个没有引号的"字符串"。当JavaScript引擎看到random(textContent);时,它将其解释为传递名为textContent的变量值作为第一个参数的含义调用random。由于尚未定义名为textContent的变量,因此传入的值为undefined。引用它会将其转换为字符串文字,从而传入您想要的字符串。