对象中的javascript函数
我试图“把一个函数放到一个对象中”,所以我想这样做,但我到处都会出错对象中的javascript函数,javascript,function,Javascript,Function,我试图“把一个函数放到一个对象中”,所以我想这样做,但我到处都会出错 var someobject = { makename(1) : null, makename(2) : null, makename(3) : null, makename(4) : null }; function makename(num) { return (identifier + ' Bot' + num) } 这在任何地方都有效。然而,@pointy的解决方案更
var someobject = {
makename(1) : null,
makename(2) : null,
makename(3) : null,
makename(4) : null
};
function makename(num) {
return (identifier + ' Bot' + num)
}
这在任何地方都有效。然而,@pointy的解决方案更好 在现代(ES2015)JavaScript环境中,您可以执行以下操作:
var someobject = {
[makename(1)]: "foo",
[makename(2)]: "bar"
};
属性名周围的
[]
包装允许它是任意表达式。表达式求值的结果被解释为字符串并用作属性名。是的,json键不能是函数调用的结果实际上,我认为在es6中有计算键或类似的东西。如果使用括号表示法,它们可以,这是获取动态键的唯一方法:-),这就是我要寻找的!
var someobject = {
[makename(1)]: "foo",
[makename(2)]: "bar"
};