Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is window["foo"]=function() {alert("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"] ?

like image 306
Serio Avatar asked May 07 '26 04:05

Serio


2 Answers

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
like image 140
HijenHEK Avatar answered May 08 '26 18:05

HijenHEK


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 = {
  firstname:"John",
  lastname:"Doe",
  age:50,
  eyecolor:"blue"
};

console.log(person["firstname"] + " is " + person["age"] + " years old.");
Documentation for Javascript Objects & Properties
like image 25
Kevin M. Mansour Avatar answered May 08 '26 16:05

Kevin M. Mansour



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!