if (!this.Piwik) {
////1.这是代码的开头部分,做if(!this.Piwik)是用来干嘛的///////////
/////////Piwik singleton and namespace/////////////
Piwik = (function () {
///////2.能这样创建函数(对象?)?那调用的时候是Piwik.函数名()的格式吗?/////////
/************************************************************
 * Private data
 ************************************************************/ var expireDateTime, /* plugins */
plugins = {}, /* alias frequently used globals for added minification */
documentAlias = document,
navigatorAlias = navigator,
screenAlias = screen,
windowAlias = window,
 /////3.这四个变量是赋给的是什么值?Dom的对象名?是不是这样赋值后以后可以直接写成documentAlias.write()//////////////////////////
/* DOM Ready */
hasLoaded = false,
registeredOnLoadHandlers = [];
                //下面还有,不贴了,问题主要在上面这段里

解决方案 »

  1.   


    if (!this.Piwik) {
    ////若this.Piwik未定义,则执行if下的code,避免重复定义///////////
        /////////Piwik singleton and namespace/////////////
        Piwik = (function () {
    ///////这个是javascript的匿名函数,调用的话Piwik()/Piwik.call(this,args,...)/Piwik.apply(this,[argArray])/////////
            /************************************************************
             * Private data
             ************************************************************/        var expireDateTime,        /* plugins */
            plugins = {},        /* alias frequently used globals for added minification */
            documentAlias = document,
            navigatorAlias = navigator,
            screenAlias = screen,
            windowAlias = window,
     /////这四个变量作为了DOM对象的引用,这样赋值后以后可以在匿名函数内直接写成documentAlias.write()//////////////////////////
            /* DOM Ready */
            hasLoaded = false,
            registeredOnLoadHandlers = [];
                    //下面还有,不贴了,问题主要在上面这段里