Не знаю, правильно ли я понимаю ваш вопрос. Но для второй версии: Это немедленно вызовет anotherFunction
.
В основном ваш плагин должен быть какой-то функцией, которая выглядит так:
var myPlugin = function(options, callback) {
//do something with options here
//call callback
if(callback) callback();
}
Вы должны предоставить объект функции как обратный вызов, поэтому либо function(){...}
, либо anotherFunction
(без ()
).
С ES2015 порядок свойства гарантируется для определенных методов, которые выполняют итерации по свойствам. , но не другие . К сожалению, методы, которые, как гарантируют, не будут иметь порядок, обычно чаще всего используются:
Object.keys
, Object.values
, Object.entries
for..in
циклы JSON.stringify
, Но, скоро (возможно, в ES2021), порядок свойства на эти ранее ненадежные методы будет , как гарантировать спецификация , будет выполнен с помощью итераций тем же детерминированным способом как другие, из-за к предложение по этапу 3 : Для - в порядке .
перечисления Точно так же, как с методами, которые имеют гарантируемый итеративный порядок (как Reflect.ownKeys
и Object.getOwnPropertyNames
), ранее неуказанные методы также выполнят итерации в следующем порядке:
вставки Это - то, что в значительной степени каждая реализация уже делает, но новое предложение сделает это чиновником.
, Хотя текущая спецификация уезжает.. в итеративном порядке" почти полностью неуказанный , реальные механизмы имеют тенденцию быть более последовательными: "
отсутствие специфики в ECMA-262 не отражает действительность. В обсуждении, возвращающемся годы, конструкторы заметили, что существуют некоторые ограничения на поведение для - в который любой, кто хочет работать, код сети должен следовать.
, поскольку каждая реализация уже выполняет итерации по свойствам очевидно, она может быть помещена в спецификацию, не повреждая назад совместимость.
<час>существует несколько странных случаев, которые реализации в настоящее время делают не , договариваются, и в таких случаях, получающийся порядок продолжится быть неуказанным. Чтобы порядок свойства был гарантирован :
Ни выполняемый с помощью итераций объект, ни что-либо в его опытной цепочке - прокси, типизированный массив, объект пространства имен модуля, или разместите экзотический объект.
Ни объект, ни что-либо в его опытной цепочке не имеют свое опытное изменение во время повторения.
Ни объекту, ни чему-либо в его опытной цепочке не удалили свойство во время повторения.
Ничему в опытной цепочке объекта не добавили свойство во время повторения.
свойство No объекта или что-либо в его опытной цепочке имеет его изменение перечислимости во время повторения.
Никакие несчетные тени свойства счетная.