Javascript 函数列表是什么?
What is Javascript FunctionList?
我在玩一个网络游戏untrusted
,是写代码玩的。
有些语法我以前从未见过,也无法在网上找到。谁可以给我解释一下这个?
functionList['movePlayerToExit'] = function () {
map.writeStatus("Permission denied.");
}
functionList['pleaseMovePlayerToExit'] = function () {
map.writeStatus("I don't think so.");
}
functionList['movePlayerToExitDamnit'] = function () {
map.writeStatus("So, how 'bout them <LOCAL SPORTS TEAM>?");
}
请解释一下什么是functionList
,谢谢!
还有熟悉这款游戏的朋友请不要剧透,再次感谢!
大多数人会写
functionList['movePlayerToExit'] = ...
作为
functionList.movePlayerToExit = ...
只是普通的JavaScript对象属性参考语法。由于这些字符串如果用作标识符将是有效的,因此无需使用 [ ]
语法。
因此,如果不清楚,functionList
是一个对象。它在您正在查看的代码中的确切含义,我不能说。它看起来像某种调度对象,因此可以查找像 "movePlayerToExit" 这样的操作代码并调用相应的函数:
var actionCode = getActionCode(totallyMakingThisUp);
if (functionList[actionCode] != null)
functionList[actionCode]();
请注意,在那个虚构的示例中, 必须使用 [ ]
来访问 functionList
的属性,因为 属性 名称存储在变量中。
它可能只是一个将功能分配给键(属性)的对象:
var obj = {};
obj["foo"] = function () { ... };
obj["bar"] = function () { ... };
等同于:
var obj = {
"foo": function () { ... },
"bar": function () { ... }
};
就像一张地图。
但是,它可能是 class 的一个实例,它会覆盖方括号运算符,例如 Array
、Map
、WeakMap
等。但是这并没有真正定义不同的行为。
我在玩一个网络游戏untrusted
,是写代码玩的。
有些语法我以前从未见过,也无法在网上找到。谁可以给我解释一下这个?
functionList['movePlayerToExit'] = function () {
map.writeStatus("Permission denied.");
}
functionList['pleaseMovePlayerToExit'] = function () {
map.writeStatus("I don't think so.");
}
functionList['movePlayerToExitDamnit'] = function () {
map.writeStatus("So, how 'bout them <LOCAL SPORTS TEAM>?");
}
请解释一下什么是functionList
,谢谢!
还有熟悉这款游戏的朋友请不要剧透,再次感谢!
大多数人会写
functionList['movePlayerToExit'] = ...
作为
functionList.movePlayerToExit = ...
只是普通的JavaScript对象属性参考语法。由于这些字符串如果用作标识符将是有效的,因此无需使用 [ ]
语法。
因此,如果不清楚,functionList
是一个对象。它在您正在查看的代码中的确切含义,我不能说。它看起来像某种调度对象,因此可以查找像 "movePlayerToExit" 这样的操作代码并调用相应的函数:
var actionCode = getActionCode(totallyMakingThisUp);
if (functionList[actionCode] != null)
functionList[actionCode]();
请注意,在那个虚构的示例中, 必须使用 [ ]
来访问 functionList
的属性,因为 属性 名称存储在变量中。
它可能只是一个将功能分配给键(属性)的对象:
var obj = {};
obj["foo"] = function () { ... };
obj["bar"] = function () { ... };
等同于:
var obj = {
"foo": function () { ... },
"bar": function () { ... }
};
就像一张地图。
但是,它可能是 class 的一个实例,它会覆盖方括号运算符,例如 Array
、Map
、WeakMap
等。但是这并没有真正定义不同的行为。