es6转换成es5的一些写法

64 阅读1分钟

循环请求数据,当前请求完再发下一个请求(不同时请求所有循环请求)

function uploadAjax(files,len){
    var temp;
    for(i = 0; i < len; i++){
        if(i == 0){
            temp = files[0];
            files.splice(i,1);
            $.ajax({
                type: "post",
                url : '',
                success: function (resData) {
                            var len = files.length;
                            if(len == 0){
                                return;
                            }
                            uploadAjax(files,len);
                        }

                    })

                }
            })
        }
    }
}
// 调用
uploadAjax(arr, arr.length)

类数组转化为数组

// es6
[...new Set(files)]// es5 
[].slice.call(files) or Array.prototype.slice.call(arrayLike) or Array.apply(null, arrayLike)

扩展运算符转换

var queryPolygon = [[342, 187], [340, 176], [338, 162], [337, 151], [335, 134]];
// es6
const minX = Math.min(...queryPolygon.map(coord => coord[0]));
// es5
var minX = Math.min.apply(Math, queryPolygon.map(function(coord) {
  return coord[0];
}));