スニペット1:
window.onload = function() {
var friendlyChat = new FriendlyChat();
};
var sample = function() {
var sampleInstance = friendlyChat; //error
// friendlyChat cannot be accesses here as you have declared it
// at function scope which gets destroyed once the function has
// returned or completed the execution.
}
friendlyChat
はローカル変数であり、この関数内でのみアクセスすることができます。
スニペット2:
window.onload = function() {
window.friendlyChat = new FriendlyChat();
};
var sample = function() {
var sampleInstance = friendlyChat;
// friendlyChat can be accesses here as you have declared it at
// windows scope which is available globally.
}
friendlyChat
グローバル変数であり、それは、ルートレベルすなわちウィンドウで宣言されているようにどこにでもアクセスすることができます。
最初にローカル変数を作成します。 2番目の変数はグローバル変数を作成します。 – gyre
ここに貴重な資料があります:https://toddmotto.com/everything-you-wanted-to-know-about-javascript-scope/ – haxxxton