Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.2k views
in Technique[技术] by (71.8m points)

请问这段JS代码每一句是什么意思,有老师可以帮忙翻译解释一下吗?

老师您好,我想对下面这段代码进行修改,但是暂时无法读懂这段代码每行的意思,希望能有老师辅助解释一下,万分感谢。

  getExchangelist: function() {
      var t = this;
      a.post("building/exchangelist").then(function(a) {
          if (200 == a.code) {
              var i = a.data.map(function(t) {
                  return e({}, t, {
                      num: 0
                  });
              }).filter(function(t) {
                  return t.exchangePrice > 0;
              }).sort(function(t, e) {
                  return e.exchangePrice - t.exchangePrice;
              });
              t.setData({
                  seList: i
              });
          }
      })
      .catch(function(t) {
          console.log(t);
      });
  },

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

简单给下注释,希望能帮到你。

  getExchangelist: function() {
      // 使用t来代表this, 避免this在回调函数中作用域不同
      var t = this;

      // 发起POST请求
      a.post("building/exchangelist").then(function(a) {
          // 请求正常,开始执行以下代码

         
          if (200 == a.code) {
              // 200状态码, 表示请求成功. 开始接收、整理、过滤、排序返回值

              // map的作用是遍历整理,将使用当前值t调用e(),并使用e()的返回值来替换t;
              var i = a.data.map(function(t) {
                  return e({}, t, {
                      num: 0
                  });
              }).filter(function(t) {    
                  // filter是过滤,只保留exchangePrice大于0的
                  return t.exchangePrice > 0;
              }).sort(function(t, e) { 
                  // 按exchangePrice进行排序. t代表前一个,e代表后一个。
                  return e.exchangePrice - t.exchangePrice;
              });

              // 最后将整理、过滤、排序后的数据做为setList项传入t对象的setData方法
              t.setData({
                  seList: i
              });
          }
      })
      .catch(function(t) {
          // 请求异常,将错误信息打印到控制台
          console.log(t);
      });
  },

另外,不知道是什么原因你拿到了压缩以后的代码。如果拥有代码版权,那么找压缩前的代码理解起来会更容易。如果没有代码版权,用来学习也无可厚非。
建议先补补基础,多写写代码,过些日子看别人写的就无师自通了。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...