gpt4 book ai didi

javascript - 声明 javascript 变量

转载 作者:行者123 更新时间:2023-11-29 10:45:45 25 4
gpt4 key购买 nike

下面两种声明javascript变量的方式有什么区别?

版本 1

var shadowBox = $(this);
var startInfo = shadowBox.children('.start-info');
var originalHeight = startInfo.height();

版本 2

var shadowBox = $(this),
startInfo = shadowBox.children('.start-info'),
originalHeight = startInfo.height();

我问这个只是因为我在 jquery 插件中使用了第二个版本:

(function ($) {
$.fn.setUpShadowBox = function (options) {
options = $.extend({
boxSpeed: 750,
boxWidth: 998,
boxPosition: -40,
heightSpeed: 500,
scrollSpeed: 750
}, options);

return $(this).each(function () {
var shadowBox = $(this),
startInfo = shadowBox.children('.start-info'),
originalHeight = startInfo.height();

//rest of plugin code
});
};
});

但是当我在类选择器上使用它时,它必须循​​环不止一次,它会将变量视为全局变量,并且只使用最后设置的 originalHeight。一旦我将其更改为声明变量的第一个版本,我的插件就会按预期工作并且变量保持在它们的范围内。

这是为什么?

最佳答案

您是否错过了第一行的逗号?

如果你这样做:

var shadowBox = $(this)
startInfo = innerContainer.children('.start-info');

取而代之的是:

var shadowBox = $(this),
startInfo = innerContainer.children('.start-info');

startInfo 将成为一个全局变量。

尝试将它们全部放在同一行上,看看会发生什么。

关于javascript - 声明 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19929191/

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