Normally, a function defined would not be accessible to all places of a page. Say a function is mentioned using “function checkCookie()” on a external file loaded first on a page. This function cannot be called by the JavaScript file loaded last. So you have to make it a Global function that can be called from anywhere on a page.
The “window” is a Global Object that has a lot of functions.
> typeof window
< "object"
This “window” object is accessible to all JavaScript code of a page, even if it’s an external file. So, if the “window” object is global, then the functions it contain will also be global. So, if we add a new function to the “window” object, it will be a global function. This is what we are going to do to make a Global function.
Here is a normal way that we use to define a function :
function checkCookie(){
// do whatever you want here
}
As you already understood, this function wouldn’t be accessible to all JS codes. The error that produce when a function can’t be accessible is :
ReferenceError: checkCookie is not defined
To make the “checkCookie” function global, we are going to add the function to the “window” object :
window.checkCookie=function(){
// do whatever you want here
};
Note the semi colon (";") at the closing of the function. This semi colon is required when defining a function on a object. As normal you can add parameters to the function.
Another Example :
function makeString(string, position){
// do whatever you want here
}
can be made global by :
window.makeString=function(string, position){
// do whatever you want here
};
Now, you can call the function directly or call it with window :
checkCookie()
window.checkCookie()
makeString("subinsb.com", 5)
window.makeString("subinsb.com", 5)
The output of the different ways to call functions will be the same. You should know that jQuery is also doing this to make “$” & “jQuery” functions global.