JSFiddle - React, Tailwind, and code Playground

by infralabs

JavaScript

console.clear();

var fn = (function(global) {
    console.log(global);
    //
    function fn_(aaa,bbb) {
   	  console.log(aaa);
	    console.log(bbb);
    }
    // zwracanie funkcji wewnętrznej 'fn_'
	return fn_;
})(self);


// self / global - ułatwiają dostęp do zmiennych globalnych

// jako że funkcja zewnętrzna 'fn' jest funkcją anonimową (samowykonującą się),
// to zwracając funkcję wewnętrzną 'fn_', de facto 'fn' realizuje działania 'fn_'
new fn(666,123);

// nic nie stoi na przeszkodzie, aby używać nazwy 'fn' zamiast 'fn_' jako funkcji wewnętrznej

// powyższy kod jest równoważny z poniższym
/*
var fn = function(global) {
    console.log(global);
    //
    function fn_(aaa,bbb) {
   	  console.log(aaa);
	    console.log(bbb);
    }
    // zwracanie funkcji wewnętrznej 'fn_'
	return fn_;
};

new fn(self)(666,123);
*/