0

До недавнего времени я был просто болваном в простом Javascript. За последние пару недель я пытался изучить более сложные аспекты. Исходя из классического фона программирования, прототипы JavaScript, кинули меня за цикл больше, чем несколько раз ...Завершение функции Javascript с левой фигурной скобой ошибки?

При изучении API Snap.svg (пытаясь узнать технику) я нашел следующее:

(function (glob, factory) { 
 
    // AMD support 
 
    if (typeof define == "function" && define.amd) { 
 
     // Define as an anonymous module 
 
     define(["eve"], function (eve) { 
 
      return factory(glob, eve); 
 
     }); 
 
    } else if (typeof exports != 'undefined') { 
 
     // Next for Node.js or CommonJS 
 
     var eve = require('eve'); 
 
     module.exports = factory(glob, eve); 
 
    } else { 
 
     // Browser globals (glob is window) 
 
     // Snap adds itself to window 
 
     factory(glob, glob.eve); 
 
    } 
 
}(window || this, function (window, eve) {

Это в последней версии застёжки, начиная от линии № 423

Сначала я думал, что это была анонимная самоосуществляющейся функция, то я заметил, открытый изогнутая скобка. Я просмотрел следующий код и не могу учитывать заключительную фигуру. Кроме того, поиск вхождения фигурных скобок в 8k + строках кода (с помощью notepad ++) указывает еще одну открытую скобку, чем закрытие. Кроме того, когда я разрушаю первую строку в фрагменте, весь остаток (почти 8000 строк) кода сворачивается. Последняя строка кода в API заканчивается:

})); 

Можно ли недостающее закрывающая скобка на функции получил толкнул в конец файла? Возможно, это может означать двойную закрывающую скобку в конце файла (второй фрагмент)? Я бы сообщил об ошибке на github, но я предполагаю, что я читаю это неправильно.

Буду признателен, если кто-нибудь сможет объяснить, что происходит.

+0

Это функция, она имеет открытую фигурную скобку и, безусловно, закрытие, а также где-то еще в коде. Функция является просто местом в качестве параметра в IIFE. – adeneo

+0

Это объясняется [здесь] (http://stackoverflow.com/q/34866510/1048572) – Bergi

ответ

0

Этот верхний кусок кода фактически закрыт окончательным })), и это не.

Что вы ищете, это оболочка UMD для кода, чтобы ее можно было загрузить с помощью глобальной ссылки AMD и CommonJS.

+0

Отлично! Просто, когда я начинал думать, что я обращаюсь к этому поводу :(Спасибо за ответ –

 Смежные вопросы

  • Нет связанных вопросов^_^