gpt4 book ai didi

javascript - 变量值正在打印 '[ object Object]'

转载 作者:行者123 更新时间:2023-11-28 19:03:58 24 4
gpt4 key购买 nike

我使用下面的脚本从我的 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);

出于某种原因,当我的变量 QueryString 打印到屏幕时,它会在我的输入字段中显示此内容:

[object Object]

但是,当我 console.log 该变量时,我得到以下信息:

console.log(QueryString)
undefined
Object { value: "YX57WDL" }

其中包含我想打印到屏幕上的值。

知道为什么会发生这种情况吗?

谢谢,尼克

最佳答案

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

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

如果您想要为对象使用其他字符串表示形式,您可以重写其 .toString() 方法,或者通过手动构造字符串来避免隐式转换,例如使用 JSON.stringify() .

关于javascript - 变量值正在打印 '[ object Object]',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32037522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com