gpt4 book ai didi

javascript - Addy Osmanis pub/sub,难以理解代码

转载 作者:行者123 更新时间:2023-11-30 10:40:28 24 4
gpt4 key购买 nike

我正在使用 Addy Osmani 的 pub sub 方法:

var topics = {};

jQuery.Topic = function( id ) {
var callbacks,
topic = id && topics[ id ];
if ( !topic ) {
callbacks = jQuery.Callbacks();
topic = {
publish: callbacks.fire,
subscribe: callbacks.add,
unsubscribe: callbacks.remove
};
if ( id ) {
topics[ id ] = topic;
}
}
return topic;
};

但在我将它添加到我的项目之前,我想更好地理解它。它相当简单,除了一行我从未见过:topic = id && topics[ id ];

topic = id 好的。 && 运算符在这里做什么?是否将 id 添加到主题数组?或进行比较?

最佳答案

topic = id && topics[ id ]; 

应该理解为

topic = (id && topics[ id ]);

&& 具有更高的优先级,如 MDN documentation 中所述

分配给topic的值是topic[id],当id被评估为“true”值时,false otherwise: 所以这是一个更短的方法

if (id) {
topic = topics[id];
}
else {
topic = false;
}

关于javascript - Addy Osmanis pub/sub,难以理解代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11294286/

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