这个';价值';关键字实际上在JavaScript中工作,我们能同时获得一个值并分配它吗?

这个';价值';关键字实际上在JavaScript中工作,我们能同时获得一个值并分配它吗?,javascript,object,constructor,Javascript,Object,Constructor,我花了很多时间来理解这一点,但无法得到任何与我的问题相关的答案,我想问的是,“value”关键字如何返回文本框或任何其他元素的值,我们可以同时赋值 我们不使用括号,所以根据我的理解,它不是一个函数 我正在尝试创建一个具有属性的对象,让我们将其称为“val”,它将返回值,并且我将能够使用equals to运算符指定一个新值 硬编码值可以工作,但如何动态获取它?我是否要创建一个函数,该函数将在每次插入值并将其指定给属性时激发?或者它将如何工作?因为我不能清楚地把它变成一个返回值的函数,因为那时我无法

我花了很多时间来理解这一点,但无法得到任何与我的问题相关的答案,我想问的是,“value”关键字如何返回文本框或任何其他元素的值,我们可以同时赋值

我们不使用括号,所以根据我的理解,它不是一个函数

我正在尝试创建一个具有属性的对象,让我们将其称为“val”,它将返回值,并且我将能够使用equals to运算符指定一个新值

硬编码值可以工作,但如何动态获取它?我是否要创建一个函数,该函数将在每次插入值并将其指定给属性时激发?或者它将如何工作?因为我不能清楚地把它变成一个返回值的函数,因为那时我无法赋值

var searchBar = {
   element : document.getElementById('memSearchInput'),
   val : document.getElementById('memSearchInput').value.trim(),
 }
这显然是徒劳的


我没有发布很多问题,所以如果这不清楚,很抱歉

value
这里不是“关键字”,而是
getElementById
调用返回的DOM节点的属性。由于您似乎在那里获取HTML
元素(恰好是一个名为的DOM节点对象),因此您可以在该对象的描述中找到有关其
属性权限的信息:

控件中的当前值

注意:对于某些输入类型,返回值可能与用户输入的值不匹配。例如,如果用户在
中输入非数值,则返回的值可能是空字符串

现在您可能已经猜到,在许多(但不是所有)情况下,属性可能会返回字符串,因此
trim
调用将从开始和结束处去除空白,并且
val
属性最终被静态地设置为该字符串


有关如何实际控制从属性读取值或向属性写入值时发生的情况的信息,请参阅及其链接的getter/setter页面。

否,无法内置设置
输入的值或
文本区域的值,同时获取其原始值

但不用担心——您可以很容易地编写自己的方法来实现这一点

这里有一个方法:

function getAndSet(id, newValue){
  var el = document.getElementById(id);
  var oldValue = el.value.trim();
  el.value = newValue;
  return oldValue;
}

var searchBar = {
  element : document.getElementById('memSearchInput'),
  val : getAndset("memSearchInput", "someNewValue")
}

那是我应该关注的东西,谢谢!我在问这东西是如何运作的,wormbo的anwer正是我想要的:)