<!DOCTYPE html>
<html>
<body>
<h1>JavaScript "this"</h1>
<p>この例は、通常の関数において、「this」キーワードが関数の呼び出し方法に応じて異なるオブジェクトを表すことを示しています。</p>
<p>ボタンをクリックして「hello」関数を再度実行すると、今度は「this」がボタンオブジェクトを表していることがわかります。</p>
<button id="btn">押してください</button>
<p id="demo"></p>
<script>
let hello = "";
hello = function() {
document.getElementById("demo").innerHTML += this;
}
// windowオブジェクトは関数を呼び出します。
window.addEventListener("load", hello);
// ボタンオブジェクトは関数を呼び出します。
document.getElementById("btn").addEventListener("click", hello);