Lesson 3

Conditions and Functions

What Makes a program

Programs made up of different things

Variables

Statements

Conditionals

Loops

Functions

Classes

First...

console.log

If you want to log something to the console while your program runs, we can use console.log to do it!

var name = "Matt";

console.log(name);

console.log(10 > 9);

console.log("Hello");

console.log("Hello".length);

Conditionals

width = 154;

if(width >= 200){
    //do something
}else if(width >= 100){
    //do something
}else{
    //fallback
}

A conditonal statement checks something, and then executes something based on the check.

Conditionals

Make a program which displays a different message depending on an age. Here are the possible responses:

 

  • age is less than 16, say "You can't drive."
  • age is less than 18, say "You can't vote."
  • age is less than 25, say "You can't rent a car."
  • age is 25 or over, say "You can do anything!"

Conditionals

var age = 22;

if(age < 16){

    console.log('You can\'t drive');

}else if(age < 18){

    console.log('You can\'t vote');

}else if(age < 25){

    console.log('You can\'t rent a car');

}else{

    console.log('You can do anything');

}

Trace Output

var people = 30;
var cars = 40;
var buses = 15;

if ( cars > people ){
    console.log( "We should take the cars." );
}else if ( cars < people ){
    console.log( "We should not take the cars." );
}else{
    console.log( "We can't decide." );
}

if ( buses > cars ){
    console.log( "That's too many buses." );
}else if ( buses < cars ){
    console.log( "Maybe we could take the buses." );
}else{
    console.log( "We still can't decide." );
}

if ( people > buses ){
    console.log( "All right, let's just take the buses." );
}else{
    console.log( "Fine, let's stay home then." );
}

Functions

sayHello("Mark");
sayHello("Matt");

function sayHello(name){
    console.log('Hello ' + name + '!');
}

Functions allow us to create blocks of code that can be run over and over based on some input.

Functions

function sayAge(name, age){
    console.log(name + ' is ' + age + ' years old.');
}

A function consists of the keyword 'function', then a name(optional), then some arguments.

Functions

console.log(sayAge('Matt', 25));

function sayAge(name, age){
    return name + ' is ' + age + ' years old.';
}

//or

function sayAgeTwo(name, age){
    var age = name + ' is ' + age + ' years old.';

    return age;
}

A function can also return a value

Variable Scope

var age = 20;
var name = 'matt';

console.log(sayAge(age));
console.log(result); //undefined

function sayAge(age){
    var result = name + ' is ' + age + ' years old.';

    return result;
}

A variable that is created inside of a function, stays in that function.

Variable Scope

var age = 20;
var name = 'matt';

console.log(sayAge(age));
console.log(result); //same thing as above

function sayAge(age){
    result = name + ' is ' + age + ' years old.';

    return result;
}

Enter the global scope. Global scope is usually bad pratice, because it can pollute the program.

Functions

Turn this into a function...

var age = 22;

if(age < 16){

    console.log('You can\'t drive');

}else if(age < 18){

    console.log('You can\'t vote');

}else if(age < 25){

    console.log('You can\'t rent a car');

}else{

    console.log('You can do anything');

}

Functions

Turn this into several functions...

var people = 30;
var cars = 40;
var buses = 15;

if ( cars > people ){
    console.log( "We should take the cars." );
}else if ( cars < people ){
    console.log( "We should not take the cars." );
}else{
    console.log( "We can't decide." );
}

if ( buses > cars ){
    console.log( "That's too many buses." );
}else if ( buses < cars ){
    console.log( "Maybe we could take the buses." );
}else{
    console.log( "We still can't decide." );
}

if ( people > buses ){
    console.log( "All right, let's just take the buses." );
}else{
    console.log( "Fine, let's stay home then." );
}

Lesson 3 - Conditionals & Functions

By Mathew Kleppin

Lesson 3 - Conditionals & Functions

Basic Logic and the buildings blocks of programming.

  • 473