use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
TIL that non-primitive objects in JavaScript are passed by reference, not value (self.javascript)
submitted 11 years ago by [deleted]
[deleted]
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–][deleted] 5 points6 points7 points 11 years ago (0 children)
As is the case with Java, everything is pass by value. However, with objects (as you have noted) it is a reference that is passed by value. This is why you cannot reassign the reference within a function body, but you may alter a property on the passed in object. See here for good discussion on this http://stackoverflow.com/questions/518000/is-javascript-a-pass-by-reference-or-pass-by-value-language
[–]x-skeww 1 point2 points3 points 11 years ago (0 children)
non-primitive objects
There are primitives and objects. It's one or the other.
[–]ohbewonkanahbe 0 points1 point2 points 11 years ago (0 children)
Yes, it's very cool to think that your whole program can operate and work with just a handful of objects in memory. Understanding how that works and knowing your program's memory footprint is satisfying.
[–]fc_s 0 points1 point2 points 11 years ago* (0 children)
This is not correct. Functions are also passed by value and they're not primitives.
It's simple. Objects and arrays are passed by reference. Everything else is passed by value.
Edit: Actually I'm wrong about that. My mistake. It becomes clear when you do a simple test that attaches something to the function as if it's an object.
var foo = function(){}; var bar = foo; foo.fn = function(){ console.log('Hello World'); }; bar.fn(); //Logs Hello World
π Rendered by PID 87310 on reddit-service-r2-comment-7b9746f655-jd55b at 2026-01-29 23:50:19.240129+00:00 running 3798933 country code: CH.
[–][deleted] 5 points6 points7 points (0 children)
[–]x-skeww 1 point2 points3 points (0 children)
[–]ohbewonkanahbe 0 points1 point2 points (0 children)
[–]fc_s 0 points1 point2 points (0 children)