Javascript 变量值为打印';[对象对象]';

Javascript 变量值为打印';[对象对象]';,javascript,Javascript,我正在使用下面的脚本从我的URL中获取值,并在输入字段中显示该值 var QueryString = function () { // This function is anonymous, is executed immediately and // the return value is assigned to QueryString! var query_string = {}; var query = window.location.search.substring(1

我正在使用下面的脚本从我的URL中获取值,并在输入字段中显示该值

var QueryString = function () {
  // This function is anonymous, is executed immediately and 
  // the return value is assigned to QueryString!
  var query_string = {};
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
        // If first entry with this name
    if (typeof query_string[pair[0]] === "undefined") {
      query_string[pair[0]] = decodeURIComponent(pair[1]);
        // If second entry with this name
    } else if (typeof query_string[pair[0]] === "string") {
      var arr = [ query_string[pair[0]],decodeURIComponent(pair[1]) ];
      query_string[pair[0]] = arr;
        // If third or later entry with this name
    } else {
      query_string[pair[0]].push(decodeURIComponent(pair[1]));
    }
  } 
    return query_string;
}();

document.addEventListener("DOMContentLoaded", function() {
    document.getElementById("field34").value = QueryString;
}, false);
但是,当我在console.log中记录该变量时,我得到以下结果:

console.log(QueryString)
undefined
Object { value: "YX57WDL" }
其中有我想打印到屏幕上的值

知道为什么会这样吗


谢谢,尼克。你可以按如下方式打印:

QueryString.value

变量
QueryString
被分配了一个对象。将对象指定给DOM元素的属性时,该对象将转换为字符串

在JavaScript中,每当一个对象被转换为字符串时,就会调用它的方法。默认情况下,它返回
[object]

如果要为对象创建另一个字符串表示形式,可以重写其
.toString()
方法,或者通过手动构造字符串(例如,使用)来避免隐式强制转换

QueryString.value