Same javascript variable and html element names are in different namespaces and do not conflict?
up vote
0
down vote
favorite
javascript and html names are in different namespaces and do not conflict?
I mean in the code below "numberInputBox" in html and in javascript contextsare different, or there could be a problem?
<body>
<input name="numberInputBox" type="text" ></td>
<script type="text/javascript">
var numberInputBox = document.getElementById("numberInputBox");
</script>
</body>
javascript html
add a comment |
up vote
0
down vote
favorite
javascript and html names are in different namespaces and do not conflict?
I mean in the code below "numberInputBox" in html and in javascript contextsare different, or there could be a problem?
<body>
<input name="numberInputBox" type="text" ></td>
<script type="text/javascript">
var numberInputBox = document.getElementById("numberInputBox");
</script>
</body>
javascript html
1
Yes they dont. You safe.
– Smollet777
Nov 19 at 11:04
1
What exactly do you mean by "html names"? Yes, ids in a document live in their own namespace.
– Bergi
Nov 19 at 11:05
Actually all ids also become implicit global variables because IE did it, but JS always can override that. There won't be any problem.
– Bergi
Nov 19 at 11:07
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
javascript and html names are in different namespaces and do not conflict?
I mean in the code below "numberInputBox" in html and in javascript contextsare different, or there could be a problem?
<body>
<input name="numberInputBox" type="text" ></td>
<script type="text/javascript">
var numberInputBox = document.getElementById("numberInputBox");
</script>
</body>
javascript html
javascript and html names are in different namespaces and do not conflict?
I mean in the code below "numberInputBox" in html and in javascript contextsare different, or there could be a problem?
<body>
<input name="numberInputBox" type="text" ></td>
<script type="text/javascript">
var numberInputBox = document.getElementById("numberInputBox");
</script>
</body>
javascript html
javascript html
asked Nov 19 at 11:03
caasdads
1176
1176
1
Yes they dont. You safe.
– Smollet777
Nov 19 at 11:04
1
What exactly do you mean by "html names"? Yes, ids in a document live in their own namespace.
– Bergi
Nov 19 at 11:05
Actually all ids also become implicit global variables because IE did it, but JS always can override that. There won't be any problem.
– Bergi
Nov 19 at 11:07
add a comment |
1
Yes they dont. You safe.
– Smollet777
Nov 19 at 11:04
1
What exactly do you mean by "html names"? Yes, ids in a document live in their own namespace.
– Bergi
Nov 19 at 11:05
Actually all ids also become implicit global variables because IE did it, but JS always can override that. There won't be any problem.
– Bergi
Nov 19 at 11:07
1
1
Yes they dont. You safe.
– Smollet777
Nov 19 at 11:04
Yes they dont. You safe.
– Smollet777
Nov 19 at 11:04
1
1
What exactly do you mean by "html names"? Yes, ids in a document live in their own namespace.
– Bergi
Nov 19 at 11:05
What exactly do you mean by "html names"? Yes, ids in a document live in their own namespace.
– Bergi
Nov 19 at 11:05
Actually all ids also become implicit global variables because IE did it, but JS always can override that. There won't be any problem.
– Bergi
Nov 19 at 11:07
Actually all ids also become implicit global variables because IE did it, but JS always can override that. There won't be any problem.
– Bergi
Nov 19 at 11:07
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
accepted
Given an element with an id
or name
, browsers will create global JS variables containing references to them.
var numberInputBox = document.getElementById("numberInputBox");
would overwrite that variable. This would not affect the HTML element.
It could only cause problems if some other code attempted to use the global variable and expected it to have its original value (although in this case, the original value is the same as the new value).
In general, it is best to avoid creating global variables so that different scripts don't get in each other's way.
You can use an IIFE to scope them.
(function () {
var numberInputBox = document.getElementById("numberInputBox");
// Do other stuff with numberInputBox here because it is local to this function
}());
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
accepted
Given an element with an id
or name
, browsers will create global JS variables containing references to them.
var numberInputBox = document.getElementById("numberInputBox");
would overwrite that variable. This would not affect the HTML element.
It could only cause problems if some other code attempted to use the global variable and expected it to have its original value (although in this case, the original value is the same as the new value).
In general, it is best to avoid creating global variables so that different scripts don't get in each other's way.
You can use an IIFE to scope them.
(function () {
var numberInputBox = document.getElementById("numberInputBox");
// Do other stuff with numberInputBox here because it is local to this function
}());
add a comment |
up vote
0
down vote
accepted
Given an element with an id
or name
, browsers will create global JS variables containing references to them.
var numberInputBox = document.getElementById("numberInputBox");
would overwrite that variable. This would not affect the HTML element.
It could only cause problems if some other code attempted to use the global variable and expected it to have its original value (although in this case, the original value is the same as the new value).
In general, it is best to avoid creating global variables so that different scripts don't get in each other's way.
You can use an IIFE to scope them.
(function () {
var numberInputBox = document.getElementById("numberInputBox");
// Do other stuff with numberInputBox here because it is local to this function
}());
add a comment |
up vote
0
down vote
accepted
up vote
0
down vote
accepted
Given an element with an id
or name
, browsers will create global JS variables containing references to them.
var numberInputBox = document.getElementById("numberInputBox");
would overwrite that variable. This would not affect the HTML element.
It could only cause problems if some other code attempted to use the global variable and expected it to have its original value (although in this case, the original value is the same as the new value).
In general, it is best to avoid creating global variables so that different scripts don't get in each other's way.
You can use an IIFE to scope them.
(function () {
var numberInputBox = document.getElementById("numberInputBox");
// Do other stuff with numberInputBox here because it is local to this function
}());
Given an element with an id
or name
, browsers will create global JS variables containing references to them.
var numberInputBox = document.getElementById("numberInputBox");
would overwrite that variable. This would not affect the HTML element.
It could only cause problems if some other code attempted to use the global variable and expected it to have its original value (although in this case, the original value is the same as the new value).
In general, it is best to avoid creating global variables so that different scripts don't get in each other's way.
You can use an IIFE to scope them.
(function () {
var numberInputBox = document.getElementById("numberInputBox");
// Do other stuff with numberInputBox here because it is local to this function
}());
answered Nov 19 at 11:08
Quentin
633k718531023
633k718531023
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53373232%2fsame-javascript-variable-and-html-element-names-are-in-different-namespaces-and%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Yes they dont. You safe.
– Smollet777
Nov 19 at 11:04
1
What exactly do you mean by "html names"? Yes, ids in a document live in their own namespace.
– Bergi
Nov 19 at 11:05
Actually all ids also become implicit global variables because IE did it, but JS always can override that. There won't be any problem.
– Bergi
Nov 19 at 11:07