/    Sign up×
Community /Pin to ProfileBookmark

Issues with with(object) statement

Hey guys

Why shouldn’t the following work? Seems to be the correct syntax. Opera issue?

[CODE]var foo = {};
with (foo) {
bar1 = “orange”;
bar2 = “apple”;
}
alert(foo.bar1); //alerts undefined[/CODE]

p.s. yeah I know with(object) is frowned upon, but it’s useful in migrating your functions to OOP Javascript.

Thanks in advance

to post a comment
JavaScript

4 Comments(s)

Copy linkTweet thisAlerts:
@thraddashOct 13.2009 — Create the object like so:

[CODE]var foo = {
bar1 : "orange",
bar2 : "apple"
};
alert(foo.bar1);[/CODE]


I only use [B]with[/B] when it comes to manipulating elements, eg:

[CODE]with (document.getElementById("element").style) {
display = (display == "none") ? "" : "none";
}[/CODE]
Copy linkTweet thisAlerts:
@mityaauthorOct 13.2009 — Thanks. Perhaps it can only be used with objects derived from DOM tree elements, then.
Copy linkTweet thisAlerts:
@astupidnameOct 13.2009 — [CODE]//with only works on properties that are already in an object,
//(all the more reason not to use the with statement):
var foo = {bar1:null, bar2:null};

with (foo) {
bar1 = "orange";
bar2 = "apple";
}

alert(foo.bar1); //alerts 'orange'[/CODE]
Copy linkTweet thisAlerts:
@mityaauthorOct 13.2009 — Interesting. Thanks.
×

Success!

Help @mitya spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.18,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...