我只是想知道为什么在执行以下操作时出现错误:
function something(id){
return document.getElementById(id).value;
}
something('id') = 'hello';
但我可以毫无错误地做到这一点:
document.getElementById('id').value = 'hello';
他们假设是一样的,对吧?
当然,假设有一个带id的输入元素,名为'id'。
感谢。
答案 0 :(得分:0)
在第一个示例中,您尝试将某些内容分配给函数的结果,而在第二个示例中,您将某些内容分配给对象的属性。
可能误解的结果是函数的返回值只是属性的“内容”(即字符串),而不是对它的引用。
要实现您要执行的操作,您需要使用值调用该函数并在那里进行分配:
function something(id, v){
document.getElementById(id).value = v;
}
something('id', 'hello');
答案 1 :(得分:0)
您的第一个方法是检索数据。
而第二部分是关于分配数据。在这里您正在为function
变量赋值。
你可能需要改变如下
function something(id, val){
document.getElementById(id).value = val;
return document.getElementById(id).value;
}
然后将其称为
something('id', 'hello');