Oh man, so much better you guys. HTML and CSS are all about website design, things you can see with your eyes. JavaScript is a programming language, it's made of pure logic you think about with your brain. It's also a lot closer to Java, which is where my previous CS experience lies.
Control flow is the system determining what instructions the computer executes and in what order. Computer code determines control flow by using conditional instructions.
The most basic form of conditional instruction is an if-statement. In this case, the computer checks if a condition is met, and if so exectutes certain code. If the condition is not met, the code is not executed. Optionally, the code may specify an else case, code that is executed if the condition of the if statement is not met.
In real life terms, an if statement might be something like 'At 12:30pm, if I'm hungry, I'll eat lunch.'
A second form of conditional instruction is a loop, which repeats a piece of code a set number of times (a 'for-loop') or until a condition is met (a 'while-loop').
A real life example of a loop might be walking to a destination. That could be described as 'Am I there yet? If not, take another step. Then repeat.'
There is a lot less difference between the two in JavaScript than there is in Java. In Javascript,both arrays and objects can store data of any type, and are mutable, meaning data can be added or removed at any point.
This means that the difference between accessing data in arrays and objects is largely a matter of syntax - arrays are accessed via their index (the number of the data entry, starting at zero), whereas object fields are accessed via the name given to the data field.
Functions are pieces of code that can be accessed from other parts of the programme, and take data as inputs. This means that code isn't repeated: if you wanted to convert from celcius to fahrenheit several times in the course of a programme, instead of repeating that code every time you wanted to do it, you could write a function and use that function every time you wanted to do the conversion.
It also means that you can do the same operations, the exact same way, on different data, which allows you to create programmes which can observe or create patterns or trends.