FAQ: Welcome to Codecademy! - Changing colors

This community-built FAQ covers the “Changing colors” exercise from the lesson “Welcome to Codecademy!”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Web Development
Code Foundations

Welcome to Codecademy!

FAQs on the exercise Changing colors

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

to define a variable we want to use the keyword var or not
otherwise to declare colour variables

values entered in the color variables are fixed or not???

In global scope a declaration keyword is a bit moot, given that we are are the top of the scope chain and everything declared at this level is global. The only exception here would be anything that we wish to remain constant.

const friction_coefficient = 0.3

var and let are scope declarations that are used inside a function or loop body, respectively, to keep the variables from leaking out of their enclosures.

However, a good many teachers will recommend forming the habit early of declaring variables with a scope declaration regardless where they are declared. That way we avoid the possibility of them ending up in global scope.

function foo() {
    a = 42;
}
console.log(a);    // 42

The values given below,

var red = [0, 100, 63];
var orange = [40, 100, 60];
var green = [75, 100, 40];
var blue = [196, 77, 55];
var purple = [280, 50, 60];

are arbitrarily chosen by the author and resolved in the progam as HSL colors so are not ‘fixed’, as such, but do fit within the color range suggested by the variable name.

In the exercise we actually get to play around a little with the values. Just know that each one has a minimum and a maximum.

[ 0..360, 0..100, 0..100 ]

There are no percent signs in the data above, since the program will resolve them into percentages.

code wont reset exercise six don’t know what to do

When I click on “Next”, the instructions change, but the code in the code editor doesn’t. The instructions say something like “in the editor now you can see XY”, so I guess it’s not supposed to stay the same? The tasks don’t make much sense that way…
I tried to reset everything, but that doesn’t work either, the Code remains the same.

Maybe there is something wrong with the settings? Can anyone help? As ist my first Course I have no idea where the problem is…

What is “var” here? What is the significance of integers used in brackets like ‘var red = [0, 100, 63];’? Why no command is written in 6th and 8th line

What is “var” here? What is the significance of integers used in brackets like ‘var red = [0, 100, 63];’? Why no command is written in 6th and 8th line

Blank lines are permitted and have no effect on the code. It makes the code readable in segments.

It is the variable declaration keyword of ES5 (vanilla JS). In ES6 we now use let.

The integers are arguments for the hsl() method so the colors are expressed in that color format.

HSL => Hue, Saturation, Luminosity (lightness)

I enjoyed this task, and changed some of the RGB values too.

This is my first day after becoming sceptical about the amount of programming done on a computing degree that I am considering quitting.

I wondered how people save their work, and do people save it by pasting into Microsoft Visual Studio? I would like to do this so I also become familiar with Visual Studio, and save / build upon the programs that I create using this website.

Also, I used a colour picker to find an RGB value and called it “teal”. When I added it to the list of colours, each letter that would have been teal did not appear.

My code is:

// Color variables:
red = [0, 100, 63];
orange = [40, 100, 60];
green = [75, 100, 40];
blue = [196, 77, 55];
purple = [290, 50, 60];
brown = [79, 62, 15];
teal = [11, 163, 148]
// Letters in the message will cycle through these colors:
letterColors = [red, teal, purple, orange, blue];

message = ‘Multiple colors!’;

drawName(message, letterColors);
bounceBubbles();

If anybody has any ideas as to why this is happening?

Thanks.
Sarah

Careful not confuse RGB with HSL, which is what the colors are written to correspond with.

rgb ( 0..255, 0..255, 0..255 )

hsl ( 0..359, 0..100, 0..100 )

RGB uses palettes with indices from 0 to 255.

HSL uses hues with indices from 0 to 359, akin to the degrees of a circle. The other two arguments are saturation and luminosity which are written as percentages, 0 to 100.

why use var now but not in the last exercise

var is legacy code from ECMAScript 5, the basis of JavaScript up to around 2015 when the new iterations started emerging. ES has been in a state of steady transfomation in recent years but still needs to be backward compatible so as to support older code. Browsers change more regularly than do older, established websites with reams of pages that predate the new ES.

var is still usable, but as the years go by we will see less and less of it. It’s replacement (rather improvement) is let. Where var gives variables function scope, let gives them block scope so that now even loops and if statements have their own local scope within their code block.

Anywhere you see var, you can replace it with let with no ill effect. Just be sure that var was not intentionly used to give common scope to all variables declared within the block.