如何使用Javascript中的任何引号将字符串作为参数传递

时间:2016-07-24 10:33:09

标签: javascript html object

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

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

和js代码将是: -

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

Random(textContent);

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

2 个答案:

答案 0 :(得分:1)

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

  query = "INSERT INTO empallowance(emp_id_fk,allowance_id_fk) VALUES((SELECT emp_id FROM employee WHERE emp_cnic='" + cnic + "'),@allowance_id_fk)";

答案 1 :(得分:0)

你不能传递字符串&#34;没有引号&#34;,在JS程序中没有引号括起来的文本不是string,而是expression

由于几个原因,您的代码无法以您认为的方式运行。首先,您没有对传入的data参数执行任何操作。.data是您使用getElementById检索的DOM元素的属性。 data是您要访问的属性的文字名称,它不是对data参数值的引用。要访问具有您作为data变量传入的名称的媒体资源,您需要使用bracket notation instead of dot notation来访问它:

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

random("textContent");

您会注意到我已将功能名称从Random更改为random。这是因为convention in JS to only use capitalized namesconstructor functions

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