gpt4 book ai didi

javascript - 函数是 javascript 对象属性的有效键吗?

转载 作者:可可西里 更新时间:2023-11-01 02:00:40 25 4
gpt4 key购买 nike

我想使用函数作为 javascript 对象中的键。以下是有效的,至少在 Chrome 中是这样:

var registry = {};
function Foo(){ };
function Bar(){ };
registry[Foo] = 42;
registry[Bar] = 43;
alert(registry[Foo] + " < " + registry[Bar]);

这是否包含在标准中?支持哪些浏览器?

最佳答案

你放在方括号之间的所有东西都会被转换成一个字符串,即使你放了一个函数、一个日期、一个正则表达式也会发生这种情况……所以,你实际上是在创建一个这样的对象:

var registry = {
"function Foo(){ }" : 42,
"function Bar(){ }" : 43
};

这是默认行为,如果您想知道,它也适用于 IE。它实际上被 John Resig 在他的 famous addEvent function 中利用了.

关于javascript - 函数是 javascript 对象属性的有效键吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10858632/

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