Javascript 从函数到新变量获取值时遇到问题

Javascript 从函数到新变量获取值时遇到问题,javascript,Javascript,我不明白为什么返回的函数没有被“var”抓取。我正在使用选择对象传递参数: <select name="BILLTOSTATE" onchange="setBTS(this) > <option value="Alabama">Alabama</option> <option value="Alaska">Alaska</option> ETC…. 最后,我想从setBTS函数设置VAR: var lv_bts = setBTS();

我不明白为什么返回的函数没有被“var”抓取。我正在使用选择对象传递参数:

<select name="BILLTOSTATE" onchange="setBTS(this) >
<option value="Alabama">Alabama</option>
<option value="Alaska">Alaska</option>
ETC….
最后,我想从setBTS函数设置VAR:

var lv_bts = setBTS();

此外,我不知道这是否重要,但新的VAR lv_bts位于另一个功能中。谢谢对不起,这个问题。我是新手,我相信答案很简单,而且在我面前

setBTS
需要一个参数;您没有传递参数。

setBTS(val)
需要一个参数,调用函数时没有传递该参数,因此val.value将是未定义的,因为
val
是未定义的

函数setBTS将参数作为参数,当您调用它时,您还需要提供该参数以便将其接收回来

你可以这样想:

function myFunction(necessaryArgumentForFunction) {
    let internalVariable = necessaryArgumentForFunction.value;
    return internalVariable;
}
let variable = { value: 'some value' };
cont lv_bts = myFunction(variable);
console.log(lv_bts);
编辑-(当天) 在下面的线程中添加一些有关问题格式的详细信息

  • 设置问题时,请简要解释未显示的内容或添加代码片段。
    • 例如: 事件处理程序正在调用此方法,并将其状态(This/event)作为参数传入
    • 或:
      let ele=document.getElementById('myEle');
      ele.onChange=立根
  • 另外一个好主意是添加任何你尝试过的失败策略(有结果),以节省你和试图帮助你的人一些时间
  • 我个人也喜欢包括我使用的任何可能与版本相关的技术(例如
    Node v8.1.4,npm v5.3.0
    ),有时它有助于解决已知问题或特性,如果您对库不太熟悉,这些问题或特性可能不会立即显现出来

不管怎样,我希望这有帮助:D.祝你过得愉快。

你在说什么?你甚至没有传递一个参数。是的,我只是没有表现出来。我以为这是假设。我会在以后的postwell中更直接一些,你调用一个函数,不向它传递任何东西,你尝试读取属性。谢谢D Lowther,谢谢你的回答。嘿,为什么我的问题总是受到负面影响?我是不是说错话了?我不确定,你的问题似乎很直截了当,你在最后一句话中注意到这是一个基本的一级问题。@Lee Alexander:你的问题没有意义。
是什么原因,因为SELECT onchange(this)
的()中已经有一个值?@SLaks提供了一个有效的观点,代码前面的第一句确实表明这里有更多代码方面的问题,我们没有看到这可能导致问题。我将编辑我的答案以添加一些问题格式提示:)我是说我有一个SELECT ele正在将(此)传递给该函数。我不想浪费任何人的时间阅读他们认为我在做的事情。它清楚地写着“onchange(this)”,所以我必须使用一些东西来发送val。但是就像我说的,我将来会更具体。
function myFunction(necessaryArgumentForFunction) {
    let internalVariable = necessaryArgumentForFunction.value;
    return internalVariable;
}
let variable = { value: 'some value' };
cont lv_bts = myFunction(variable);
console.log(lv_bts);