Javascript 赋值中的左侧无效
我只是想知道为什么在执行以下操作时会出现错误:Javascript 赋值中的左侧无效,javascript,Javascript,我只是想知道为什么在执行以下操作时会出现错误: function something(id){ return document.getElementById(id).value; } something('id') = 'hello'; 但我可以做到这一点,没有错误: document.getElementById('id').value = 'hello'; 他们的想法是一样的,对吗 当然,假设有一个id为“id”的输入元素 谢谢。在第一个示例中,您尝试为函数的结果赋值,而在第二个
function something(id){
return document.getElementById(id).value;
}
something('id') = 'hello';
但我可以做到这一点,没有错误:
document.getElementById('id').value = 'hello';
他们的想法是一样的,对吗
当然,假设有一个id为“id”的输入元素
谢谢。在第一个示例中,您尝试为函数的结果赋值,而在第二个示例中,您为对象的属性赋值 这种误解可能是因为函数的返回值只是属性(即字符串)的“内容”,而不是对它的引用 要实现您尝试执行的操作,您需要使用值调用函数,并在那里执行赋值操作:
function something(id, v){
document.getElementById(id).value = v;
}
something('id', 'hello');
函数
变量赋值function something(id, val){
document.getElementById(id).value = val;
return document.getElementById(id).value;
}
那就这样说吧
something('id', 'hello');
可能重复的