我想存储为以下方法,并通过查询使用键查找值或按值查找键来获取常量值
function my_reference() {
return {
30:'',
31:'ERR591',
32:'ERR761',
33:'ERR671',
34:'ERR551',
};
}
console.log( my_reference[31],
my_reference.31,
my_reference().31,
my_reference()[31]
);
答案 0 :(得分:4)
my_reference[31],
尝试读取函数的属性(不存在)。该属性位于对象上,该对象是调用函数的返回值。
my_reference.31,
尝试使用数字作为标识符。这是不允许的。
my_reference().31,
尝试使用数字作为标识符。这是不允许的。
my_reference()[31]
这有效
答案 1 :(得分:1)
如果您希望它返回结果,您必须调用函数,函数调用:
my_reference()
所以这两个第一行都不起作用,因为my_reference
将返回自己的函数而不是调用它:
my_reference[31]
my_reference.31
第三个也不起作用console.log(my_reference().31);
因为属性不能是数字。
希望这有帮助。
答案 2 :(得分:1)
您需要使用my_reference()
执行该功能,然后访问您想要的属性..但javascript对象中的键始终是字符串:
console.log(my_reference()['31']);
答案 3 :(得分:0)
您无需使用函数来存储引用:
var reference = {
30:'',
31:'ERR591',
32:'ERR761',
33:'ERR671',
34:''
};
console.log(reference[31]);
答案 4 :(得分:0)
这是固定代码
function my_reference() {
return {
_30:'',
_31:'ERR591',
_32:'ERR761',
_33:'ERR671',
_34:'ERR551'
};
}
var f = my_reference();
console.log(f["_31"]);
console.log(f._31);
console.log(my_reference()._31);
console.log(my_reference()["_31"]);
无法使用数字命名变量 前两个应该是返回的对象