Javascript 如何访问变量键并将其用作另一个函数中的变量?
我对标题感到抱歉,我不确定我要解决的问题的名称 假设我有下面的类和一个函数Javascript 如何访问变量键并将其用作另一个函数中的变量?,javascript,node.js,Javascript,Node.js,我对标题感到抱歉,我不确定我要解决的问题的名称 假设我有下面的类和一个函数 { printInfo(age){ console.log(name) console.log(age) } } 从另一个页面,我想这样调用该类: someClass.Mike.printInfo(21),该函数将打印Mike和21。当然,Mike的名字是可变的,所以它可以是任何东西 有没有办法做到这一点?也许类的构造函数中有什么特别的东西?一些JSON对象键操作 谢谢。假设您已将姓名存储在某处,例如: con
{
printInfo(age){
console.log(name)
console.log(age)
}
}
从另一个页面,我想这样调用该类:
someClass.Mike.printInfo(21)
,该函数将打印Mike和21。当然,Mike的名字是可变的,所以它可以是任何东西
有没有办法做到这一点?也许类的构造函数中有什么特别的东西?一些JSON对象键操作
谢谢。假设您已将姓名存储在某处,例如:
const names = ['Mike', 'Dave'];
如果函数确实存储在具有以下动态属性的对象中,则可以访问该函数:
names.forEach(name => {
someClass[name].printInfo(21);
})
如果这不是你需要的,你应该试着把你的问题写得更详细一点
来自另一个页面的语句也有点混乱,如果该页面上未定义类,则您无法访问它。假设您已将名称存储在某个位置,例如:
const names = ['Mike', 'Dave'];
如果函数确实存储在具有以下动态属性的对象中,则可以访问该函数:
names.forEach(name => {
someClass[name].printInfo(21);
})
如果这不是你需要的,你应该试着把你的问题写得更详细一点
来自另一个页面的语句也有点混乱,如果该页面上没有定义类,则您无法访问它。您需要传递正在使用的任何变量。您可以通过将它们分开来执行此操作:
printInfo(name, age)
要使用它,您可以这样调用该方法:
SomeClass.printInfo("Mike", 21);
您需要传递正在使用的任何变量。您可以通过将它们分开来执行此操作:
printInfo(name, age)
要使用它,您可以这样调用该方法:
SomeClass.printInfo("Mike", 21);
为每个人创建一个实例,并在构造函数中传递姓名,然后从实例中调用
printInfo()
,以获取姓名和年龄:
class-SomeClass{
建造师(姓名、年龄){
this.name=名称;
这个。年龄=年龄;
}
打印信息(年龄){
console.log(this.name)
console.log(age | | this.age)
}
}
const mike=new SomeClass('mike');
mike.printInfo(21);
const jean=新的SomeClass('jean',17);
jean.printInfo()代码>为每个人创建一个实例,并在构造函数中传递姓名,然后从实例调用printInfo()
以获取姓名和年龄:
class-SomeClass{
建造师(姓名、年龄){
this.name=名称;
这个。年龄=年龄;
}
打印信息(年龄){
console.log(this.name)
console.log(age | | this.age)
}
}
const mike=new SomeClass('mike');
mike.printInfo(21);
const jean=新的SomeClass('jean',17);
jean.printInfo()代码>您的问题非常不清楚;例如,您不需要“调用”类,所有的JS都在包含脚本标记的每个页面上。您的意思是想从其他上下文访问类方法printInfo()
?你问的名字是什么完全不清楚。你是说你someClass[var\u包含属性名称].printInfo()
?为什么printInfo()
不只是someClass
的一个方法,这样你就可以随时访问它,并提供名称和年龄作为参数,例如someClass.printInfo(Mike,21)
?你所要求的是不可能的。使用变量或属性的值时,无法知道变量或属性的名称。因此,如果调用myFunction()
或myObject.myMethod()
您实际上没有可用的名称。您最多可以有命名函数,例如,function someFunction(){}
,但是如果您在执行时调用了someNewName=someFunction
,您仍然无法确定是调用了someFunction()
还是someNewName()
。谢谢您的回复。是的,我正在尝试执行某些类[var\u包含属性名称].printInfo(),并在printInfo()中使用该var\u包含属性名称。我想看看是否有办法做到这一点。我不想马上说这是不可能的,我想看看我是否遗漏了什么。谢谢,你的问题很不清楚;例如,您不需要“调用”类,所有的JS都在包含脚本标记的每个页面上。您的意思是想从其他上下文访问类方法printInfo()
?你问的名字是什么完全不清楚。你是说你someClass[var\u包含属性名称].printInfo()
?为什么printInfo()
不只是someClass
的一个方法,这样你就可以随时访问它,并提供名称和年龄作为参数,例如someClass.printInfo(Mike,21)
?你所要求的是不可能的。使用变量或属性的值时,无法知道变量或属性的名称。因此,如果调用myFunction()
或myObject.myMethod()
您实际上没有可用的名称。您最多可以有命名函数,例如,function someFunction(){}
,但是如果您在执行时调用了someNewName=someFunction
,您仍然无法确定是调用了someFunction()
还是someNewName()
。谢谢您的回复。是的,我正在尝试执行某些类[var\u包含属性名称].printInfo(),并在printInfo()中使用该var\u包含属性名称。我想看看是否有办法做到这一点。我不想马上说这是不可能的,我想看看我是否遗漏了什么。谢谢,谢谢,但那不是我想要的。这只是一个数组,您正在调用数组项上的方法。我不是在调用数组项上的方法,我是在名为数组项的对象someClass上调用方法谢谢,但这不是我要找的。这只是一个数组,您正在调用metho