Iterating through object collections
Messages   Related Types
This message was discovered on microsoft.public.dotnet.languages.jscript.

Post a new message to this list...

Mark Rae
Hi,

Is there any way in JavaScript to iterate through an object's properties to
interrogate their values? I'm thinking specifically of the navigator object,
the screen object, the window object and the document object. Something
like:

foreach(obj in screen.properties)
{
document.write(obj.name + " = " + obj.value)
}

Any assistance gratefully received.

Mark

Reply to this message...
 
    
Martin Honnen
Mark Rae wrote:

[Original message clipped]

for (var property in window.screen) {
document.write('<p>' + property + ': ' + window.screen[property] +
'<\/p>');
}

--

    Martin Honnen
    http://JavaScript.FAQTs.com/

Reply to this message...
 
    
Mark Rae
"Martin Honnen" <Click here to reveal e-mail address> wrote in message
news:%Click here to reveal e-mail address...

[Original message clipped]

Excellent! Thanks.

Reply to this message...
 
    
Mark Rae
"Martin Honnen" <Click here to reveal e-mail address> wrote in message
news:%Click here to reveal e-mail address...

[Original message clipped]

Actually, when I came to try this, I couldn't get it to work. I replaced
"for" with "foreach", but that didn't help... :-(

Reply to this message...
 
    
Martin Honnen
Mark Rae wrote:

[Original message clipped]

The code is correct, if you try that with Netscape for instance it shows
you properties that you expect.
The problem with
for (var property in object)
is that it enumerates all properties of the object that are _marked as
being enumerable_ and there is no standard for screen specifying whether
its properties should be marked as being enumerable. Thus if you run the
code with IE/Win for instance and nothing shows up then it is because
the IE implementors have decided to mark the properties of screen as
being not enumerable.

There is nothing you can do about that with your code, but of course
IE's object model is well documented so look into the SDK documentation
first for the properties it defines for an object.

--

    Martin Honnen
    http://JavaScript.FAQTs.com/

Reply to this message...
 
    
Mark Rae
"Martin Honnen" <Click here to reveal e-mail address> wrote in message
news:uLuq%Click here to reveal e-mail address...

[Original message clipped]

OK - thanks.

Reply to this message...
 
 




Ad
MBR BootFX
Best-of-breed application framework for .NET projects, developed by Matthew Baxter-Reynolds and MBR IT
 
 Copyright © Matthew Baxter-Reynolds 2001-2008. '.NET 247 Software Development Services' is a trading style of MBR IT Solutions Ltd.
Contact Us - Terms of Use - Privacy Policy - www.dotnet247.com