【发布时间】:2023-04-08 08:31:01
【问题描述】:
所以,我目前正在尝试进入模拟器编程,我选择了 JavaScript,因为它是我完全流利的语言。
基本上我的问题归结为: 我有一个数组,它是我的操作码表,因此它将我的函数绑定到一个数字。
E. g.:
function function_one() {
alert("hello");
}
function function_two() {
alert("World")
}
var optable = [
function_one,
function_two
];
optable[0](); //runs function_one()
optable[1](); //runs function_two();
现在,我想编写一个简单而原始的编译器,它包含汇编代码行的一部分,搜索该数组中的第一个字符串并返回可选函数中的函数索引,但我尝试的所有操作都只返回 @987654322 @。 currentLine[] 编码如下: ["function_one", "foo", "bar"] (作为字符串,是的)
例如:
var currentLine = byLine[i].split(" ");
console.log(currentLine[0]);
currentProgram += optable.findIndex(currentLine[0]); //<-- NaN
console.log(currentProgram);
我知道这不是它的工作原理,因为 optable 数组包含函数并且我搜索一个字符串,但是我怎样才能让它工作呢?我有一些可以使用 eval() 的东西,但我已经可以看到这可能会导致什么......(安全等)
【问题讨论】:
-
在您的第 0 个索引上,它是函数关键字,而不是函数的名称。函数名称在索引 1 处(拆分后)
-
哦,等等,这部分可能不够清楚,将编辑它。
标签: javascript arrays function