gpt4 book ai didi

javascript jquery : Overwriting variables - how? 性能更好?

转载 作者:行者123 更新时间:2023-12-02 20:24:38 26 4
gpt4 key购买 nike

嘿伙计们,我不是一个铁杆编码员,所以我在这里不了解这些基础知识。

假设我的页面上有多个 '(包含通过 swfobject 的 Youtube 视频)。所有这些对象都有一个唯一的 ID,如 ytplayer_12、ytplayer_2、ytplayer_56 等。

我需要使用 jquery 运行所有 ytplayer_ 并向它们添加一个 EventListener。

效果很好!我只是想知道我是否在正确的位置声明了变量 ($ytid, ytid) - 在 onYouTubePlayerReady() 函数之外?或者我应该在函数内部声明变量?或者甚至在每个循环内部?

var $ytid = '',
ytid = '';

function onYouTubePlayerReady() {

$('object[id^="ytplayer_"]').each(function() {

$ytid = $(this).attr('id');
ytid = document.getElementById($ytid);

ytid.addEventListener("onStateChange", "foo");

});
};

我只是好奇在这种情况下什么更好,以及我现在做的是否正确?感谢您提供的信息和帮助?

最佳答案

在全局范围内声明变量是个坏主意。将它们移动到函数作用域中。

function onYouTubePlayerReady() {
var $ytid = '', ytid = '';
$('object[id^="ytplayer_"]').each(function() {
$ytid = $(this).attr('id');
ytid = document.getElementById($ytid);

ytid.addEventListener("onStateChange", "foo");
});
};

你可以摆脱它们:

function onYouTubePlayerReady() {
$('object[id^="ytplayer_"]').each(function() {
this.addEventListener("onStateChange", "foo");
});
};

关于javascript jquery : Overwriting variables - how? 性能更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5027924/

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