重写内置函数
let append = window.FormData.prototype.append
window.FormData.prototype.append = function (key, value) {
console.log(key, value)
append.call(this, key, value == null ? "" : value)
}
解析
//拷贝原有方法
let append = window.FormData.prototype.append
//修改FormData原型上的append函数 让它等于一个新的函数
window.FormData.prototype.append = function (key, value) {
console.log(key, value)
//为了重写函数不影响原有功能 将拷贝的函数的this指向当前实例 并将值传入
append.call(this, key, value == null ? "" : value)
}