JavaScriptでは、変数のスコープによって、その変数がアクセス可能な範囲が異なります。このコードでは、letで宣言された変数 keyword, url, keyValue, result は、すべてこのスクリプトの最上位で宣言されているため、グローバルスコープに属しています。一方、関数 getResult はローカルスコープに属しているため、その中でしかアクセスできません。
入力した値を外にある変数に渡す場合、関数の外に変数を宣言し、その変数に結果を代入することができます。例えば、以下のように書くことができます。
javascript
1let keyword = document.getElementById("keyword");2let url = "https://example.com/?k=";3let result = "";4 5keyword.addEventListener("input", function () {6 let keyValue = keyword.value;7 result = url + keyValue; 8 getResult(result);9});10 11function getResult(result){12 console.log(result);13}
このようにすることで、変数 result を宣言し、その変数に結果を代入することができます。そして、関数 getResult に変数 result を渡しています。関数 getResult の中で console.log を実行することで、外部のコンソールに結果を表示することができます。

0 コメント