How to make a variable global in javascript? | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 12

How to make a variable global in javascript?

Suppose there is a function like this.. function myfunction(name){ var names = name+"s" } How would you make that names variable global?

19th Nov 2019, 5:24 PM
Sai Praneeth
Sai Praneeth - avatar
15 Answers
+ 12
Ipang, BroFarOps 👑 , Kevin Star ,₦ØØⱤ ₳Ⱡł, bahha ,Bunny Thank you so much guys for helping me out. I'm really fighting with this for a long time. It really means a lot. Thank you.
20th Nov 2019, 12:56 PM
Sai Praneeth
Sai Praneeth - avatar
+ 10
Another way (not recomended) 2- don't use any keyword when declaring names. Variables without keywords(var let const) are global by default. That won't be possible in strict mode
19th Nov 2019, 6:05 PM
Kevin ★
+ 9
Declare it outside function? var names; function myfunction(nm) { names = nm + "s"; }
19th Nov 2019, 5:33 PM
Ipang
+ 8
Here is a direct answer from tutorialspoint... though many answered correctly https://www.tutorialspoint.com/What-is-the-difference-between-global-and-local-Variables-in-JavaScript
19th Nov 2019, 10:32 PM
BroFar
BroFar - avatar
+ 5
By just declaring the variable outside of the function so now you can change the variable's value or modify it. example( it could look like this): var name=0; function upgrade(){ name++;//everytime the upgrade() function runs, the name variable's value will increase by 1 setTimeout(upgrade2,2000); } function upgrade2(){ name-=2;//everytime upgrade2() runs the variable's value will decrease by 2 } And now the name variable's value will change everytime upgrade() runs, but if i declared it into the function upgrade2(),then upgrade() won't effect the variable's value(it may give an error saying that name hasn't been defined), because the variable isn't global it's local if you declare it into a function. Here: https://code.sololearn.com/W80kWqZbWd88/?ref=app
19th Nov 2019, 9:52 PM
A P
A P - avatar
+ 5
Ipang No🤔 Here name is an empty string. No problem reading it. I use the latest Android version of Sl.
19th Nov 2019, 11:06 PM
Kevin ★
+ 4
I have a feeling you're trying to modify a variable by reference which is not possible in Javascript for primitive data types. you modify a global variable inside a function by using the window object. correct me if this is not what you want to achieve. var names = "bunny" ; function myfunc(name) { names = name + "s" ; } myfunc(names) ; alert (names) // will show the first variable not the modified by function. to achieve that without a return that you store again in names. try this : window.names = "bunny" ; function myfunc(name) { window. names = name + "s" ; } myfunc(names) ; alert (names) //will change according to the function. otherwise use the usual a function that returns a value and store it again in the global variable. like: names = myfunc(name) ;
19th Nov 2019, 5:59 PM
Bahhaⵣ
Bahhaⵣ - avatar
+ 3
To make a variable global: You have to declare it outside your function, that is, you will have to declare it after your script tag. Example <script> Let name = "Sololearn"; function myFunc(name){ let sayName = console.log(name); } function anotherFunc(name){ let globalVar = console.log(name + "This was extracted from a global variable"); } </script> You can see that in the above code, the variable "name" declared is accessible by everyone but in your case you are declaring yours in a function which can only be used in that function that you declare it. So to make it global, you will have to declare that names outside the function. Example var names; function myFunction(name){ names = name + "s"; }
20th Nov 2019, 2:25 PM
Ajibola Qudus Okiki
Ajibola Qudus Okiki - avatar
+ 3
Basically, declare it in a global scope... Dunno what a global scope is? Then learn that first.
21st Nov 2019, 4:18 PM
NuminousC
NuminousC - avatar
+ 2
Kevin Star I was about to post a new question in the forum. Asking why SoloLearn app crashes when I try to do `console.log(name)` or `console.log(window.name)`. Then you came along with the note about keyword as identifier name. Do you experience that ever? (crash on reading 'name' attribute).
19th Nov 2019, 6:21 PM
Ipang
+ 2
Please help me with java How to create bar chart for number of student appearing in java and show number of male and femlae student separatelyp
20th Nov 2019, 8:33 AM
lahi Ur
lahi Ur - avatar
+ 2
declare your variable without the word var.. outside the function..thats it
20th Nov 2019, 5:39 PM
Aashir Azeem
Aashir Azeem - avatar
+ 2
simply declare the variable you want to make global outside the function like so.. var names; function myfunction(name){ names = name+"s"; }
20th Nov 2019, 11:16 PM
Ivever Timothy Tersoo
Ivever Timothy Tersoo - avatar
+ 2
ivever timothy the need for a global variable here is to modify the variable without reassigning it a value again. the way you did it is correct but you will have to add a return to the function. and do names = myfunction(name) ; otherwhise if you modify it inside the function the first var names will not be affected it is what is called in other programming languages passing by value vs passing by reference.
21st Nov 2019, 1:34 PM
Bahhaⵣ
Bahhaⵣ - avatar
+ 2
my answers here are solely based on the function written in the first post, which does not return any value and wants to modify a global variable inside it. that's why it is a bit complicated than just using a global variable outside the function.
21st Nov 2019, 2:07 PM
Bahhaⵣ
Bahhaⵣ - avatar