在JavaScript中this表示:谁调用当前函数this就指向谁,不知道调用者时this指向window。
JavaScript是由对象组成的,一切皆为对象,万物皆为对象。this是一个动态的对象,根据调用的对象不同而发生变化,当然也可以使用call、apply修改this指向的对象。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用
1.0、猜猜答案
代码如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JavaScript this</title> </head> <body> <h2>JavaScript this</h2> <input type="button" value="按钮A" id="btnA"/> <input type="button" value="按钮B" id="btnB" onclick="sayHello()"/> <script type="text/javascript"> function sayHello(){ alert("Hello Button!"); console.log(this); }; document.getElementById("btnA").onclick=sayHello; </script> </body> </html>
请问输出到控制台的结果是什么?相同吗?输出两个什么对象?
答案:
<input type="button" value="按钮A" id="btnA"/> Window