Javascript 如何使用变量调用对象属性?

Javascript 如何使用变量调用对象属性?,javascript,string,object,dynamic,Javascript,String,Object,Dynamic,我试图解决一个问题,即用字符串调用对象属性+函数 例如: var myobject = { firstName: "Bob", lastName: "Joe" }; var show = "lastName"; myobject[show].thisfunction(); 在控制台中,一切都像我期望的那样工作,但在代码中它说 未捕获的语法错误:意外标记[ 有什么想法吗?谢谢!就是这样做的 在这里,如果你可以调用它的函数 如果要从当前类实例调用函数,只需将obj替换为this va

我试图解决一个问题,即用字符串调用对象属性+函数

例如:

var myobject = {
   firstName: "Bob",
   lastName: "Joe"
};
var show = "lastName";
myobject[show].thisfunction();
在控制台中,一切都像我期望的那样工作,但在代码中它说

未捕获的语法错误:意外标记[


有什么想法吗?谢谢!

就是这样做的 在这里,如果你可以调用它的函数

如果要从当前类实例调用函数,只需将
obj
替换为
this

var proprt='firstName'
变量myobject={
名字:“鲍勃”,
姓:“乔”
};
var a=()=>{alert('Hello')}
var obj={Bob:{thisFn:a}

obj[myobject[proprt]].thisFn()
这就是它的实现方式 在这里,如果你可以调用它的函数

如果要从当前类实例调用函数,只需将
obj
替换为
this

var proprt='firstName'
变量myobject={
名字:“鲍勃”,
姓:“乔”
};
var a=()=>{alert('Hello')}
var obj={Bob:{thisFn:a}

obj[myobject[proprt]].thisFn()
请发布一条消息。第一个示例不是有效的JS,因为Bob和Joe没有显示为字符串,并且您不能将类型定义传递给[]运算符,“但在代码中显示”--谁说的?:)显示确切的行。你在哪里定义了这个函数?事实上我发现了问题,它是哑的…在我的代码中,有一行其他地方有myobject。[Show].thisfunction();请发布一个示例,第一个示例不是有效的JS,因为Bob和Joe不是字符串,并且不能将类型定义传递给[]运算符“但是在代码中它说”--谁说的?:)显示确切的行。你在哪里定义这个函数?实际上我发现了问题,它是哑的…在我的代码中,有一行其他地方有myobject。[Show]。thisfunction();我更新了第一个示例以更清楚一些,我希望能够在“Show”的位置动态调用属性是一个可以在对象的属性名称之间更改的变量。如果属性作为变量传递,这是正确的答案编辑要清除的代码段我更新了第一个示例以更清楚一些,我希望能够在“show”处动态调用属性是一个可以在对象的属性名称之间更改的变量。如果属性作为变量传递,则这是正确答案编辑代码段以清除