Using numbers for javascript object element names

Is the following code valid?

var i;
var objs={};
for (i=0; i <10; i++)
{
   objs.i=new FooObject();
}

alert(objs.4.someMethod());

If not, how should I rewrite it to accomplish what I want?

+3
source share
4 answers

You should change your code as follows:

var i;
var objs = {};
for (i = 0; i < 10; i++) {
  objs[i] = new FooObject();
}

alert(objs[4].someMethod());
+4
source
var i; 
var objs = new Array();

for(i = 0; i < 10; i++)
{
   objs.push(new FooObject());
}


objs[4].someMethod();
+2
source

1. , 2. . , for...in 3. , :

var x;
var myItems = new Array();
myItems[0] = "Foo";
myItems[9] = "Bar";
myItems[5] = "Fiz";

for (x in myItems) {
  alert(myItems[x]);
}

1 http://www.w3schools.com/js/js_variables.asp
2 http://www.w3schools.com/js/js_obj_array.asp
3 http://www.w3schools.com/js/tryit.asp?filename = tryjs_array_for_in

+2
source

You cannot use numbers as variable names, because direct numbers exist as their own object set in Javascript (i.e. you can think of 4 as already a global variable that you cannot override).

+1
source

Source: https://habr.com/ru/post/1713077/


All Articles