0

很抱歉这个愚蠢的问题,但我是 javascript 和前端开发的新手,并且很难理解 javascript 代码是如何在浏览器中执行的。在我的开发人员环境中,我有这样的 javascript 函数:

this.publishDataBeforeDispose = function() {
            if (!this.isEnded) {
                segmentStop_();
                publishFinalData_();
            }

但是,如果我去我们网站的 prod 网页并尝试在开发控制台的 Chrome 的 Source 选项卡中搜索所有 javascript 文件,那里的代码如下所示:

this.publishDataBeforeDispose = function() {
    this.isEnded || (n(),
    w())
} 

n() 和 w() 代表什么?如何进入 publishFinalData_() 方法以便在此方法中放置断点或在浏览器中更改此函数的代码?

另外,我注意到,Source 选项卡中的 js 代码具有不同的变量,例如“a”、“c”、“e”、“d”:

  a.publish(),
  c = d("someValue1", "", 1),
  e(c),
  c = d("someValue2", "", b),
  e(c),

这是怎么发生的?是否有任何在线资源可以帮助我为像我这样的傻瓜回答我的原因?

4

1 回答 1

1

浏览器中的源代码被压缩,所有作用域函数名和变量名都被简单的单词替换了。如果要调试,可以在压缩前进行操作。在线发布之前,您可以在本地代码中进行调试。

于 2019-03-06T03:13:41.467 回答