Questions & Answers

What is window["foo"]=function() {alert("foo");}

reading the code I found out code like this

   function() {

And if I call the function for example on onclick("foo()") I will get "foo" So what is window["foo"] ?

2023-01-24 23:20:02
It's...the foo property on window. JavaScript property access: dot notation vs. brackets?
2023-01-24 23:20:02
Basically it is creating property named "foo" under window object (that is always present), and assigns function to this property. Same will be = function...
2023-01-24 23:20:02
window is an object. window["foo"] is equivalent to
2023-01-24 23:20:02
side note.... don't do that
Answers(2) :

Foo Word:

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.

The explanation for your 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".

An example for JavaScript Objects & Properties:

// JavaScript Object & Properties
// there are two different ways to access an object property
// you can use .property or ["property"].

var person = {

console.log(person["firstname"] + " is " + person["age"] + " years old.");

Documentation for Javascript Objects & Properties

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 :

   function() {

foo(); // this is your attempt on onclick