Это просто выставит функцию из области действия functionone
, чтобы быть свойством объекта $
.
Например:
$.functionone = function(){
function setOptions(newOptions){
//...
}
this.setOptions = setOptions;
};
typeof $.setOptions; // "undefined", it doesn't exist
$.functionone();
typeof $.setOptions; // "function"
Значение this
в JavaScript устанавливается неявно при выполнении вызова функции.
Если функция связана как свойство объекта (например, $.functionone
), значение this
будет ссылатьсяк базовому объекту ($
в вашем примере).
Это не очень полезно IMO, это эквивалентно:
$.functionone = function(){
this.setOptions = function (newOptions) {
//...
};
};
, который находится в конце,когда вы вызываете functionone
, эквивалентно:
$.setOptions = function (newOptions) {
//..
};
Разница в том, что функция не названа, что может быть полезно для отладки.
Работа со значением this
наПлагины jQuery более обычны, когда вы расширяете объект jQuery.fn
, в этом случае значение this
относится к объекту jQuery, который содержит сопоставленные элементы, а не к самому конструктору jQuery.