gpt4 book ai didi

javascript - jquery 30天查询

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

我目前正在观看教程视频“30 天学习 jQuery”。我有一个问题,为什么视频中的导师从函数中返回一个变量

代码如下:

这是在 HTML 文件中,它只是将事件处理程序绑定(bind)到按钮、调用函数等。

(function() {

slider.nav.find('button').on('click', function() {
slider.setCurrent( $(this).data('dir') );
slider.transition();
});
})();

这是我感兴趣的一个函数(在 js 文件中):

Slider.prototype.setCurrent = function( dir ) {
var pos = this.current;

pos += ( ~~( dir === 'next' ) || -1 );
this.current = ( pos < 0 ) ? this.imgsLen - 1 : pos % this.imgsLen;

return pos; // <== HERE

};

我唯一想弄清楚的是为什么return pos?我尝试删除它,但代码仍然有效。

这是一个错误还是有合理的逻辑?

简而言之,setCurrent 函数被调用,setCurrent 返回一个值。但是为什么?

最佳答案

我无法推测您的导师为什么这样做,但一种常见的做法,尤其是在 jQuery 中,是通过根据传递的参数使同一函数既是 setter 又是 getter 来重载函数。示例如下:

function (dir)
{
//If dir was passed as a parameter
if (typeof dir !== "undefined")
{
//Setter code
value = dir;
}
//Getter (always returns value)
return value;
}

jQuery 中有大量函数使用了它,例如 .val.height.css('propertyName', [optionallySetValue])

让我知道这是否有意义,或者如果您有任何问题:)

关于javascript - jquery 30天查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16072237/

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