变量/字符串到函数

时间:2016-12-11 00:01:12

标签: javascript html

我正处于开始阶段,我想知道一些事情..有没有办法设置这样的变量(或类似方式)?

<body>

<button id="button1" onclick="change(this.something);"> click me </button>
<button id="button2" onclick="change(this.lorem);"> or this one </button>
<div id="target"> change this content </div>

<script>
function change(variable)
{
document.getElementById("target").innerHTML = variable;
}
</script>
</body>

或类似的东西

<body>

<button id="button1" onclick="change(this.value(v1));"> click me </button>
<button id="button2" onclick="change(this.value(v2));"> or this one</button>

<div id="target"> change this content </div>

<script>
function change(value)
{
var v1 = "something";
var v2 = "lorem";

document.getElementById("target").innerHTML = variable;
}
</script>

当然两者都不起作用..只是不知道如何找到答案。

2 个答案:

答案 0 :(得分:4)

也许你的意思是将字符串文字传递给函数,即change('literal text')

function change(variable) {
  document.getElementById("target").innerHTML = variable;
}
<button id="button1" onclick="change('something');"> click me </button>
<button id="button2" onclick="change('lorem');"> or this one </button>
<div id="target"> change this content </div>

答案 1 :(得分:0)

如果您打算将div的内容设置为somethinglorem,那么您应该使用字符串文字传递它们,而不是尝试访问此属性。

<button id="button1" onclick="change('something');"> click me </button>
<button id="button2" onclick="change('lorem');"> or this one </button>

使用字符串文字会将包含指定值的String传递给change函数,而使用this.somethingproperty accessor会尝试获取{{3}}的值something对象上的{1}}属性。

在第二个示例中,您无法使用this处理程序中的v1v2,因为这些变量的作用域位于onclick函数内且无法访问来自外面。