Javascript 中的 (function e(t,n,r) ...) 是啥? [复制]
Posted
技术标签:
【中文标题】Javascript 中的 (function e(t,n,r) ...) 是啥? [复制]【英文标题】:What is (function e(t,n,r) ...) in Javascript? [duplicate]Javascript 中的 (function e(t,n,r) ...) 是什么? [复制] 【发布时间】:2017-01-16 20:05:15 【问题描述】:我正在研究 List.js 框架。 这是一个起始代码。如果我删除它(甚至删除函数 e 周围的“()”),代码不起作用。
这是什么?我认为它已经在 Javascript 方法中定义了。
(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
)
【问题讨论】:
它是允许您使用模块的缩小代码。浏览器不支持开箱即用的模块(目前),并且有像 Browserify 这样的工具允许您在浏览器中使用 CommonJS 样式模块。 OT,将缩小后的代码与原始源代码进行比较可以帮助:) 缩小的“逆”名称显然是“源图”。 我不同意这个问题是重复的。 @MikeCluck 的答案是我正在寻找的,它不在所谓的原版中。 那段代码在浏览器中定义了“require”。这是非缩小版:github.com/browserify/browser-pack/blob/master/prelude.js 【参考方案1】:它是 javascript 的缩小版本(除了文件大小和可读性之外,它没有任何实际区别)所以实际上,它实际上是非常普通的 javascript 代码。但是,编写时没有非强制语法、不需要的空格、较短的变量名,所有这些都是为了减少文件传输时间。
【讨论】:
我认为她不是在问什么是缩小代码,而是问那段代码是做什么的。这个问题也被@mike-cluck 错误地标记为重复。我在上面的cmets中给出了正确答案。以上是关于Javascript 中的 (function e(t,n,r) ...) 是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 之 解码类似eval(function(p,a,c,k,e,d){}))的JavaScript代码
javascript:关于js的function参数中带的Event