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