我有这个箭头功能,可以正常工作。
var sendData = (method, url, data, callback = null) => {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = callback;
xhttp.open(method, url, true);
xhttp.send(JSON.stringify(data));
};
但是,如果回调是这样定义的
sendDataDebugCallback = () => {
if (this.readyState == 4 && this.status == 200) {
console.log('Hi');
console.log(this.responseText);
}
};
它不起作用,但是如果我使用function关键字,它会起作用
function sendDataDebugCallback() {
if (this.readyState == 4 && this.status == 200) {
console.log('Hi');
console.log(this.responseText);
}
};
这两种函数声明之间有什么区别?为什么箭头功能不起作用?