Javascript 谁在Unslider.js中传递false?
我正在调试一个名为Unslider.js的插件,遇到了一个小困难。在Unslider.js中有一个对象文字,如下所示:Javascript 谁在Unslider.js中传递false?,javascript,jquery,Javascript,Jquery,我正在调试一个名为Unslider.js的插件,遇到了一个小困难。在Unslider.js中有一个对象文字,如下所示: _this.o = { speed: 500, // animation speed, false for no transition (integer or boolean) delay: 3000, // delay between slides, false for no autoplay (integer o
_this.o = {
speed: 500, // animation speed, false for no transition (integer or boolean)
delay: 3000, // delay between slides, false for no autoplay (integer or boolean)
init: 0, // init delay, false for no delay (integer or boolean)
pause: !f, // pause on hover (boolean)
loop: !f, // infinitely looping (boolean)
keys: f, // keyboard shortcuts (boolean)
dots: f, // display dots pagination (boolean)
arrows: f, // display prev/next arrows (boolean)
fluid: f, // is it a percentage width? (boolean)
starting: f, // invoke before animation (function with argument)
complete: f, // invoke after animation (function with argument)
// More key value pairs
};
现在我检查了一下插件,看到了下面这行代码:
只有一行使用了此f
值,请参见下文:
if ((!target.length || index < 0) && o.loop == f) return;
我在控制台中遇到一个错误:“f未定义”
很明显,它没有定义;控制台是对的。所以我回到插件并检查了插件。遇到了一个函数,它实际上在传递f
。让我描述一下我所看到的,因为代码所解释的不仅仅是文字:
/**
* Unslider by @idiot and @damirfoy
* Contributors:
* - @ShamoX
*
*/
(function($, f) {
var Unslider = function() {
// Object clone
var _ = _this = this;
// a couple of 100 lines of code .
// Set some options
_this.o = {
pause: !f, // pause on hover (boolean)
loop: !f, // infinitely looping (boolean)
keys: f, // keyboard shortcuts (boolean)
dots: f, // display dots pagination (boolean)
arrows: f, // display prev/next arrows (boolean)
prev: '←', // text or html inside prev button (string)
next: '→', // same as for prev option
fluid: f, // is it a percentage width? (boolean)
starting: f, // invoke before animation (function with argument)
complete: f, // invoke after animation (function with argument)
};
// To slide or not to slide
if ((!target.length || index < 0) && o.loop == f) return;
};
// Create a jQuery plugin
$.fn.unslider = function(o) {
var len = this.length;
return this.each(function(index) {
var me = $(this),
instance = (new Unslider).init(me, o);
});
};
Unslider.version = "1.0.0";
})(jQuery, false);
/**
*由“白痴”和“达米尔弗伊”解开滑梯
*贡献者:
*-@ShamoX
*
*/
(函数($,f){
var Unslider=函数(){
//对象克隆
var u=u this=this;
//100行代码。
//设置一些选项
_此.o={
暂停:!f,//悬停时暂停(布尔值)
循环:!f,//无限循环(布尔)
键:f,//键盘快捷键(布尔值)
点:f,//显示点分页(布尔值)
箭头:f,//显示上一个/下一个箭头(布尔值)
prev:“&larr;”,//prev按钮(字符串)内的文本或html
下一步:“&rarr;”,//与上一个选项相同
流体:f,//它是一个百分比宽度吗?(布尔值)
开始:f,//在动画之前调用(带参数的函数)
complete:f,//动画后调用(带参数的函数)
};
//滑还是不滑
如果(!target.length | index<0)和&o.loop==f)返回;
};
//创建jQuery插件
$.fn.unslider=函数(o){
var len=此长度;
返回此.each(函数(索引){
var me=$(此),
instance=(新的Unslider).init(me,o);
});
};
Unslider.version=“1.0.0”;
})(jQuery,false);
现在看看上面的代码片段的顶部。在这一行(函数($,f){
,我发现这一行是罪魁祸首,它传入的f
实际上是“false”;我记录并检查了它
那么,我的问题是:到底是谁在传递这个假值?这个假值是从哪里和什么时候传递的?我如何调试它?源代码的最后一行,from显示它正在传递:
})(jQuery, false);
查找iLife,看看它为什么会被传递到Holly Molly,是的,我会继续读下去,我知道iLife,但这一个确实让我走错了路。没问题,JS模式太多了,有时会让人很困惑
})(jQuery, false);