这个JS代码是如何解释的

时间:2013-06-06 10:22:49

标签: javascript

我有一个js文件(requirejs api),我试图理解,但无法得到任何意义

前几行:

var requirejs,require,define;
(function(ba){
    function J(b){
        return"[object Function]"===N.call(b)
        }
        function K(b){
        return"[object Array]"===N.call(b)
        }
        function z(b,c){
        if(b){
            var d;
            for(d=0;d<b.length&&(!b[d]||!c(b[d],d,b));d+=1);
        }
    }
    function O(b,c){
    if(b){
        var d;
        for(d=b.length-1;-1<d&&(!b[d]||!c(b[d],d,b));d-=1);
    }
}

加载此js的父页面调用方法 require()但我在整个文件中看不到任何此类函数定义。然后如何处理论证ba?是“b”来自ba?这个文件是由obfscation组成的吗?所有函数都命名为a(),b()等

1 个答案:

答案 0 :(得分:1)

这是RequireJS的缩小版本。只需打开包含评论的完整版本:

http://requirejs.org/docs/release/2.1.6/comments/require.js

在缩小期间,为了节省字节,变量名通常被短名称替换。例如,此处J(b)引用方法isFunction(it)K(b)引用isArray(it),而z(b,c)看起来像each(ary, func)O(b,c)eachReverse(ary, func)