Я пытаюсь понять синтаксис плагина jQuery, потому что я хочу объединить два плагина в один. Проблесковый огонь, который также должен смочь остановить de интервал или работать неоднократно.
Так или иначе, этот синтаксис то же как
jQuery.fn.extend({
everyTime: function(interval, label, fn, times) {
return this.each(function() {
jQuery.timer.add(this, interval, label, fn, times);
});
},
oneTime: function(interval, label, fn) {
return this.each(function() {
jQuery.timer.add(this, interval, label, fn, 1);
});
},
это
$.fn.blink = function(options)
{
потому что это похоже на первое (без =) способ установить несколько методов сразу. Действительно ли это правильно? Также, в то время как я здесь, Какова была бы причина добавить элементы и некоторую логику к объекту jQuery?
jQuery.extend({
timer: {
global: [],
guid: 1,
dataKey: "jQuery.timer",
(это от плагина таймера),
Будучи ленивым, я не проверяю это, но не должна эта работа
private int FindClosest(IEnumerable<int> numbers, int x)
{
return
numbers.Aggregate((r,n) => Math.Abs(r-x) > Math.Abs(n-x) ? n
: Math.Abs(r-x) < Math.Abs(n-x) ? r
: r < x ? n : r);
}
-121--3853861- def func(*args):
pass
Когда вы определяете функцию этого пути, * args
будет массив аргументов, переданных функции. Это позволяет вашей функции работать, не зная заранее, сколько аргументов будет передано ей.
Вы делаете это и с аргументами ключевых слов, используя * * kwargs
:
def func2(**kwargs):
pass
См.: Произвольные списки аргументов
В вашем случае вы определили класс, который действует как словарь. Метод dict.pop
определяется как pop (клавиша [, по умолчанию])
.
Метод не использует параметр default
. Однако определение метода с помощью * args
и передача * args
в dict.pop ()
позволяет вызывающему абоненту использовать параметр default
.
Другими словами, можно использовать метод pop
класса, например dict.pop
:
my_a = a()
value1 = my_a.pop('key1') # throw an exception if key1 isn't in the dict
value2 = my_a.pop('key2', None) # return None if key2 isn't in the dict
-121--832277- jQuery.extend используется для расширения любого объекта дополнительными функциями, но jQuery.fn.extend используется для расширения объекта jQuery.fn.
jQuery.extend:
var obj = { x: function() {} }
jQuery.extend(obj, { y: function() {} });
// now obj is an object with functions x and y
jQuery.fn.extend:
jQuery.fn.extend( {
x: function() {},
y: function() {}
});
// creates 2 plugin functions (x and y)