2016-09-08 27 views
5

List.js Framework üzerinde çalışıyorum. Bu bir başlangıç ​​kodudur. Eğer onu kaldırırsam (hatta e) işlevini çevreleyen "()" yi kaldırırsam, Kod çalışmıyor.Javascript'te (işlev e (t, n, r) {...}) nedir?

Bu nedir? Ben zaten Javascript yönteminde tanımlanmış olduğunu düşünüyorum.

(function e(t,n,r){ 
    function s(o,u){ 
    if(!n[o]){ 
    if(!t[o]){ 
    var a=typeof require=="function"&&require; 
    if(!u&&a) return a(o,!0); 
    if(i)return i(o,!0); 
    var f=new Error("Cannot find module '"+o+"'"); 
    throw f.code="MODULE_NOT_FOUND",f 
    } 

    var l=n[o]={exports:{}}; 
    t[o][0].call(l.exports,function(e){ 
    var n=t[o][1][e]; 
    return s(n?n:e) 
    },l,l.exports,e,t,n,r) 
    } 

return n[o].exports 
} 

var i=typeof require=="function"&&require; 
for(var o=0;o<r.length;o++) 
s(r[o]); 

return s 
} 
) 
+1

Modüller ile çalışmanıza izin veren küçültülmüş koddur. Tarayıcılar, modülleri kutudan desteklemez (henüz) ve tarayıcıda [CommonJS] (https://nodejs.org/docs/latest/api/modules.html) stil modüllerini kullanmanıza izin veren Browserify gibi araçlar vardır. tarayıcı. –

+0

OT, minimize edilmiş orijinal kaynak kodunun karşılaştırılması burada yardımcı olabilir :) Küçültmenin "tersi" ismi görünüşte "kaynak harita" dır. –

cevap

1

O kadar gerçekten, aslında çok normaldir javascript kodu (dosya boyutu ve okunabilirliği dışındaki diğer gerçek fark, yapmaz) javascript bir küçültülmüş versiyonu. Ancak, zorunlu olmayan sözdizimi, gereksiz boşluk, daha kısa değişken isimler olmaksızın yazılmıştır, hepsi dosya aktarım süresini azaltma çabalarında.