我正在'use strict';
重写我的jQuery代码,我的功能遇到了很多问题。
var queue = $(function(start) {
var rest = [].splice.call(arguments, 1),
promise = $.Deferred();
if (start) {
$.when(start()).then(function () {
queue.apply(window, rest);
});
}
else {
promise.resolve();
}
return promise;
});
在'use strict'之前工作的原始函数是,也许我重写它很糟糕。
function queue(start) {
var rest = [].splice.call(arguments, 1),
promise = $.Deferred();
if (start) {
$.when(start()).then(function () {
queue.apply(window, rest);
});
} else {
promise.resolve();
}
return promise;
}
这个函数返回Object没有方法适用,我不知道为什么。
当然我需要改进我的代码并且不知道如何开始,因为一切正常,然后我使用'use strict'
,并且所有休息。
我必须重写我的所有代码吗?
这只是一个命名约定问题?
请非常感谢任何帮助
答案 0 :(得分:0)
我认为您的问题与“使用严格”无关。
var queue = $(function(start) { ... })
将执行您的函数并使用jQuery对象作为参数(start)调用它。然后在你的函数内部尝试调用queue.apply
这不是函数(如错误消息所示,我猜queue
未定义)。
也许你想写:
var queue = function() { ... }