HTML中的Javascript对象和参数引用

HTML中的Javascript对象和参数引用,javascript,object,Javascript,Object,我有一个想法,我想通过使用函数参数和对象来实现,但是它并没有按照预期工作 第一个HTML代码: <!DOCTYPE html> <html> <head> <title>Main</title> <script type="text/javascript" src="scripting.js"></script> </

我有一个想法,我想通过使用函数参数和对象来实现,但是它并没有按照预期工作

第一个HTML代码:

<!DOCTYPE html>
<html>
    <head>
        <title>Main</title>
        <script type="text/javascript" src="scripting.js"></script>

    </head>
    <body>
        <div >
            <form id='radio'>
                <input type="radio" name="choice" onClick="text(this.value)" value="list">
                <input type="radio" name="choice" onClick="text(this.value)" value="box"></form>
            <h1 id="title">" "</h1>
            <p id="description"></p>
        </div>
    </body>
</html>
而不是显示值。结果我得到了“未定义”


有人能帮忙吗?

有两种方法。如果保留当前变量,并且现在它们将是全局变量(在窗口对象中),则使用以下方法:

var list = { a : 1 , b : 'Hi' };
var box = { a : 2, b : 'Hello'};
var choice = 'list';

console.log(window[choice]);
请注意,我们将选项放在括号中,因为列表和框是窗口的属性

因为choice等于'list',所以window[choice]、window['list']和window.list都引用名为list的相同对象

另一种方法是在对象中放置列表和框:

var types = {
  list: { a : 1 , b : 'Hi' },
  box: { a : 2, b : 'Hello' }
};

var choice = 'list';

console.log(types[choice]);

我更喜欢这种方法,而不是将所有内容都放在全局/窗口对象中。

选择是一个字符串,所以只需使用
…=选择已经尝试过了。同样的结果请记住,我的结果应该显示在HTML5网站上,而不是控制台上。另外,choice参数不是一个现有变量,它引用了HTML5函数文本中的一个值(this.value)…在我在原始帖子中的示例中,我的意思是this.value='list'作为函数文本(choice)的参数;在javascript中,choice将表示整个函数中的值“list”。我尝试了你的选项类型[choice],但结果它抛出:[object object],我只是告诉你如何使用变量获取对象,比如window[choice]。由于列表和框是对象,所以需要像window[choice].a或window[choice].b那样引用它。我想我会让你拿出实际的代码,但是如果你需要更多的帮助才能得到实际的结果,请告诉我们。
var list = { a : 1 , b : 'Hi' };
var box = { a : 2, b : 'Hello'};
var choice = 'list';

console.log(window[choice]);
var types = {
  list: { a : 1 , b : 'Hi' },
  box: { a : 2, b : 'Hello' }
};

var choice = 'list';

console.log(types[choice]);