Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 赋值中的左侧无效_Javascript - Fatal编程技术网

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');
    
    可能重复的