私はこの1か月間、JavaScriptを自分で学んでいますが、仕事がいたるところにあるため、一貫性はありません。ダウンタイムが発生したときの仕事は、営業チームの拡張機能に取り組むことです。
今のところ、解決できない特定の問題はありませんが、JavaScriptの関数には、まだ欠けているものがあると思わせる質問があります。
このコードを見て、私はそれについて私を混乱させるものを説明します:
function click(e) {
var selection = e.target.id;
}
document.addEventListener('DOMContentLoaded', function () {
var divs = document.querySelectorAll('div');
for (var i = 0; i < divs.length; i++) {
divs[i].addEventListener('click', click);
}
});
したがって、このコードでは、click(e)の部分を除いて何が起こっているのかを理解しています。「e」はイベントオブジェクトですか?それがどのように通過したのか、そして「e」がそれを意味することをどのように知っているのかは私にはわかりません。eを「foo」に置き換えることができ、それでも機能すると思いますが、何が起こっているのかは明確ではありません。私はそれがこのコード行に関係していると確信しています:
divs[i].addEventListener('click', click);
しかし、私はそれをそのように実現するために舞台裏で何が起こっているのか理解していません。
別の例は、http ://developer.chrome.com/extensions/messaging.htmlで渡されるメッセージからのこれです:
contentscript.js
================
chrome.extension.sendMessage({greeting: "hello"}, function(response) {
console.log(response.farewell);
});
background.html
===============
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendMessage(tab.id, {greeting: "hello"}, function(response) {
console.log(response.farewell);
});
});
この中の「応答」は、他の例の「e」のように、どこから来ているのかわかりません。これがどのように機能するかを解明する助けをいただければ幸いです。私は自由に学ぶことができますが、これについての適切な説明は見つかりませんでした。