До недавнего времени я был просто болваном в простом 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, но я предполагаю, что я читаю это неправильно.
Буду признателен, если кто-нибудь сможет объяснить, что происходит.
Это функция, она имеет открытую фигурную скобку и, безусловно, закрытие, а также где-то еще в коде. Функция является просто местом в качестве параметра в IIFE. – adeneo
Это объясняется [здесь] (http://stackoverflow.com/q/34866510/1048572) – Bergi