如何在javascript中使用变量值

如何在javascript中使用变量值,javascript,html,css,Javascript,Html,Css,我想在单击按钮时打印我的产品详细信息。我有两个字典手表和电视这是我的javascript代码,我使用show(btn)函数打印字典的值,并btn保存字典的名称。但是当我写btn[“name”]时,输出是未定义的。 但是,当我点击手表按钮和alert(btn)时,它将我作为手表输出,或者我点击电视按钮和alert(btn)时,它将我作为电视输出。 那么为什么btn[“name”]不起作用 var={ 名称:“泰坦”, 价格:“8999”, 国家:“印度” } var Tv={ 名称:“米电视”,

我想在单击按钮时打印我的产品详细信息。
我有两个字典手表和电视
这是我的javascript代码,我使用
show(btn)
函数打印字典的值,并
btn
保存字典的名称。但是当我写
btn[“name”]
时,输出是未定义的。
但是,当我点击手表按钮和
alert(btn)
时,它将我作为手表输出,或者我点击电视按钮和
alert(btn)
时,它将我作为电视输出。
那么为什么
btn[“name”]
不起作用

var={
名称:“泰坦”,
价格:“8999”,
国家:“印度”
}
var Tv={
名称:“米电视”,
价格:“20999”,
国家:“中国”
}
功能展示(btn){
document.getElementById(“name”).innerHTML=btn[“name”];
document.getElementById(“price”).innerHTML=btn[“price”];
document.getElementById(“country”).innerHTML=btn[“country”];
}
var j=document.queryselectoral(“.product”).length;

对于(var i=0;i,show函数没有正确引用数据对象。 我更新了show函数并声明了一个变量data来引用数据对象

var={
名称:“泰坦”,
价格:“8999”,
国家:“印度”
}
var Tv={
名称:“米电视”,
价格:“20999”,
国家:“中国”
}
功能展示(btn){
var数据=(btn==“手表”)?手表:电视;
document.getElementById(“name”).innerHTML=data[“name”];
document.getElementById(“price”).innerHTML=data[“price”];
document.getElementById(“country”).innerHTML=data[“country”];
}
var j=document.queryselectoral(“.product”).length;

对于(var i=0;i您不能将
字符串
值作为变量处理,您传递给show函数的是
字符串
值,它与变量
手表
电视
完全不同

我建议创建一个对象,将
手表
电视
作为键,然后您可以使用传递给函数的
字符串
访问对象上的特定属性

const产品={
手表:{
名称:“泰坦”,
价格:“8999”,
国家:“印度”
},
电视:{
名称:“米电视”,
价格:“20999”,
国家:“中国”
}
}
功能展示(btn){
document.getElementById(“name”).innerHTML=products[btn][“name”];
document.getElementById(“price”).innerHTML=products[btn][“price”];
document.getElementById(“country”).innerHTML=products[btn][“country”];
}
var j=document.queryselectoral(“.product”).length;
对于(变量i=0;i
表格,
th,
运输署{
边框:2件纯黑;
边界塌陷:塌陷;
填充:10px;
文本对齐:左对齐;
}
手表
电视
产品名称
--
价格
--
国家
--

innerHTML
返回一个字符串,它不包含像
name
这样的属性。感谢您的解释:)@satyamjha小心,这是一个只有两个产品时才有效的解决方案。如果有多个产品,您需要一组if-else条件。