gpt4 book ai didi

javascript - Javascript 中变量的函数名称

转载 作者:行者123 更新时间:2023-12-02 20:25:20 25 4
gpt4 key购买 nike

我从这样的数组创建一个上下文菜单:

var menu1 = [
{
'OPTION1':function(menuItem,menu) {
// code for OPTION1
}
},
{
'OPTION2':function(menuItem,menu) {
// code for OPTION2
}
}
];

当用户右键单击我的网页时,会出现一个菜单,其中包含选项 OPTION1 和 OPTION2。

我需要动态更改函数名称,因为它是上下文菜单选项文本。 有没有办法将函数名声明为变量?

这就是我想要的:

var optionsletters = {};
optionsletters['option1'] = 'option_one';
optionsletters['option2'] = 'option_two';

var menu1 = [
{
optionsletters['option1']:function(menuItem,menu) {
// code for OPTION1
}
},
{
optionsletters['option2']:function(menuItem,menu) {
// code for OPTION2
}
}
];

编辑#1:这是我一直在使用的插件 jQuery ContextMenu Plugin

编辑#2:我需要这个来允许将语言从西类牙语更改为英语,反之亦然。

最佳答案

您不能像在第二个示例中尝试的那样使用对象文字表示法来设置任意属性。这不会阻止您手动设置属性:

function make_menu_item(name, func){
var item = {}; //Create an empty object
item[name] = func; //Assign the property with the name you choose
//(obj['option1'] is equivalent to obj.option1 in Javascript)
return item;
}

var menu = [
make_menu_item('option1', function () {...}),
make_menu_item('option2', function () {...})]

关于javascript - Javascript 中变量的函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4926083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com