Published
Edited
Oct 30, 2019
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
// DECLARAING A FUNCTION
function myFunctionThatCalculatesASum( parameter1, parameter2 ) {
// CODE BLOCK: do stuff in here
var sumOfMyParamters = parameter1 + parameter2
return sumOfMyParamters // <-- this is outputted from the function
}
Insert cell
// RUNNNING THE FUNCTION
theOutput = myFunctionThatCalculatesASum(true,true)
Insert cell
{
function sum(a,b) {
return a + b
}
function product(a,b) {
return a * b
}
var onePlusTwo = sum(1,2)
var threePlusFour = sum(3,4)
var productOfTwoVariables = product(onePlusTwo, threePlusFour)
return productOfTwoVariables // <-- ignore that return. it's to make the notebook work
}
Insert cell
Insert cell
{
var bob = function () {return "goodbye, I'm in Bob!"}
var joe = bob() + " And now I'm called by Joe!"
return joe
}
Insert cell
Insert cell
function checkDay(today) {
if(today === "Sunday" || today === "Saturday") {
return "WEEKEND"
} else {
return "WEEKDAY"
}
}
Insert cell
checkDay("Sat")
Insert cell
Insert cell
{
// COUNTING TO TEN
var count = 0
while( count != 10 ) {
count = count + 1;
}
return count;
}
Insert cell
md` With while loops, we can fall into an "infinite loop" trap, where the loop repeats forever. Let's try to make the example code above into an infinite loop`
Insert cell
Insert cell
Insert cell
{
// COUNTING TO TEN
var count = 0
for( var i = 0; i < 10; i++ ) {
count = count + 1
count = count + 1
count = count + 1
count = count + 1
count = count + 2
count = count + 1
count = count + 1
count = count + 1
count = count + 1
}
return count
}
Insert cell
Insert cell
Insert cell
function testable(isGood) {
if(isGood===true)
return "yes"
return "no"
}
Insert cell
test1 = testable(true)==="yes"
Insert cell
test2 = testable(false)==="no"
Insert cell
test3 = testable(1)==="yes"
Insert cell
Insert cell
Insert cell
function sleepIn(weekday, vacation) {
return undefined;
}
Insert cell
{
if(sleepIn(1,2)===undefined)
return "Your function will be unit tested here"
try
{
expect(sleepIn(true,true)).to.equal(true)
expect(sleepIn(true,false)).to.equal(false)
expect(sleepIn(false,true)).to.equal(true)
expect(sleepIn(false,false)).to.equal(true)
return success()
}
catch(err)
{
return failure()
}
}
Insert cell
Insert cell
function hasTeen(num1, num2, num3) {
return undefined;
}
Insert cell
{
if(hasTeen(1,1,1)===undefined)
return "Your function will be unit tested here"
try
{
expect(hasTeen(0,0,0)).to.equal(false)
expect(hasTeen(0,13,0)).to.equal(true)
expect(hasTeen(12,12,12)).to.equal(false)
expect(hasTeen(11,19,20)).to.equal(true)
expect(hasTeen(14,18,0)).to.equal(true)
expect(hasTeen(10,20,12)).to.equal(false)
expect(hasTeen(19,19,19)).to.equal(true)
return success()
}
catch(err)
{
return failure()
}
}
Insert cell
Insert cell
function front3(str) {
return undefined;
}
Insert cell
{
if(front3("abc")===undefined)
return "Your function will be unit tested here"
try
{
expect(front3("")).to.equal("")
expect(front3("abc")).to.equal("abcabcabc")
expect(front3("XYZ")).to.equal("XYZXYZXYZ")
expect(front3("az")).to.equal("azazaz")
expect(front3("bob")).to.equal("bobbobbob")
expect(front3("NaN")).to.equal("NaNNaNNaN")
expect(front3("123")).to.equal("123123123")
expect(front3("zzz")).to.equal("zzzzzzzzz")
return success()
}
catch(err)
{
return failure()
}
}
Insert cell
Insert cell
function cashCheck(checkAmount)
{
return 'Give the customer ' + checkAmount + ' dollars.' //Replace the code here
}
Insert cell
checkAmount = 27//check your code here
Insert cell
Insert cell
{
if(cashCheck(12)==='Give the customer 12 dollars.')
return "Your function will be unit tested here"
try
{
expect(cashCheck(20)).to.equal('Give the customer 1 $20 bill.')
expect(cashCheck(17)).to.equal('Give the customer 1 $10 bill, 1 $5 bill, and 2 $1 bills.')
expect(cashCheck(298)).to.equal('Give the customer 2 $100 bills, 1 $50 bill, 2 $20 bills, 1 $5 bill, and 3 $1 bills.')
expect(cashCheck(1052)).to.equal('Give the customer 10 $100 bills, 1 $50 bill, and 2 $1 bills.')
return success()
}
catch(err)
{
return failure()
}
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more