const object = {
message: 'Hello, World!',
getMessage() {
const message = 'Hello, Earth!';
return this.message;
}
};
console.log(object.getMessage()); // 'Hello, World!'
//this 表示 object。
箭头函数内部的this值等于外部作用域的this值。
setTimeout()种调用常规函数,this等于全局对象,即浏览器环境中的 window。
在常规函数调用期间的this值等于全局对象。
调用logMessage函数,让它打印 "Hello, World!"
function logMessage() {
console.log(this.message); // logs 'Hello, World!'
}
// Using func.call() method
logMessage.call(object);
// Using func.apply() method
logMessage.apply(object);
// Creating a bound function
const boundLogMessage = logMessage.bind(object);
boundLogMessage();
arguments[0]()是arguments对象上的回调的方法调用,所以回调内部的参数等于arguments
