我正在尝试学习 jquery 插件,在此过程中我首先尝试了解一些 jquery 插件。我已经阅读了一些插件,并且在插件的开头遇到了一些常见的代码旋转网。
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' does not exist on jQuery.jModalbox');
}
任何人都可以告诉我,
- 是这样吗,我们在构建插件时必须遵循这个
我观察到控制台不会出现
返回方法[方法].apply(this, Array.prototype.slice.call(arguments, 1));
那么为什么我们需要 if 部分。
- 为什么用apply调用方法init,我的意思是为什么调用喜欢:
methods.init.apply(this, arguments);
为什么不喜欢这样:methods.init(arguments);
- 我读过这个apply(),但不清楚。请任何人解释