reading the code I found out code like this
window["foo"]=
   function() {
      alert("foo");
   }
And if I call the function for example on onclick("foo()") I will get "foo"
So what is window["foo"] ?
reading the code I found out code like this
window["foo"]=
   function() {
      alert("foo");
   }
And if I call the function for example on onclick("foo()") I will get "foo"
So what is window["foo"] ?
 
    
    foo is function declared as a prop in the window object which is the top level scope . which means your variable is accessed globaly from any place in you code , and its accessible like this :
window["foo"]=
   function() {
      alert("foo");
   }
window["foo"]();
window.foo();
foo(); // this is your attempt on onclick 
    
    Foo (pronounced FOO) is a term used by programmers as a placeholder for a value that can change, depending on conditions or on information passed to the program.
So, "Foo" is just a popular word among programmers like "Hello World" for the first program to learn code.
Your code creates a string property under the window object called "Foo" and assigns a function to this property which is the alert function so when JavaScript listens to a property called Foo (e.g the onclick function), it will call the alert function which you will see alert called "Foo".
// JavaScript Object & Properties
// there are two different ways to access an object property
// you can use .property or ["property"].
var person = {
  firstname:"John",
  lastname:"Doe",
  age:50,
  eyecolor:"blue"
};
console.log(person["firstname"] + " is " + person["age"] + " years old.");