gpt4 book ai didi

javascript - 这条线是如何工作的 : obj ['e' +type+fn] = fn

转载 作者:行者123 更新时间:2023-12-03 10:59:49 29 4
gpt4 key购买 nike

我一直在到处寻找对此的解释。我知道,在 Javascript 中,您可以使用方括号表示法获取/设置对象的属性,但是当您在括号中使用“+”时会发生什么,如下所示:

obj['e'+type+fn] = fn;

我在 Jon Duckett 的《Javascript & Jquery》一书中找到了这段代码。他使用这段代码作为辅助函数,该函数最初由 John Resig 创建。

这是完整的代码块。

function addEvent( obj, type, fn ) {
if ( obj.attachEvent ) {
obj['e'+type+fn] = fn;
obj[type+fn] = function(){
obj['e'+type+fn]( window.event );
}
obj.attachEvent( 'on'+type, obj[type+fn] );
} else {
obj.addEventListener( type, fn, false );
}
};

当我把它们放在一起时,这就是我所看到的(这对我来说没有意义):

var obj = {
e: fn,
type: fn,
fn: fn
};

最佳答案

but what is going on when you use '+' in brackets

这是一个表达式,就像 property brackets 中的其他内容一样。在本例中,它将字符串 "e" 与事件类型和 stringified 连接起来。监听器函数,获取一个相当唯一的属性名称。

关于javascript - 这条线是如何工作的 : obj ['e' +type+fn] = fn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28142531/

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