SlideShare a Scribd company logo
BEGINNING JAVASCRIPT
CLASS 2Javascript ~ Girl Develop It ~
GDI Seattle - Intro to JavaScript Class 2
WELCOME!
Girl Develop It is here to provide affordable and
accessible programs to learn software through
mentorship and hands-on instruction.
Some "rules"
We are here for you!
Every question is important
Help each other
Have fun
ARRAY
An array is a data-type that holds an ordered list
of values, of any type:
The length property reports the size of the array:
var arrayName = [element0, element1, ...];
var rainbowColors = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Violet'];
var favoriteNumbers = [16, 27, 88];
var luckyThings = ['Rainbows', 7, 'Horseshoes'];
console.log(rainbowColors.length);
ARRAYS -- RETURNING
VALUES
You can access items with "bracket notation".
The number inside the brackets is called an
"index"
Arrays in JavaScript are "zero-indexed", which
means we start counting from zero.
var arrayItem = arrayName[indexNum];
var rainbowColors = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Violet'];
var firstColor = rainbowColors[0];
var lastColor = rainbowColors[6];
ARRAYS -- UPDATING
VALUES
You can also use bracket notation to change the
item in an array:
Or to add to an array:
You can also use the push method
(recommended):
var awesomeAnimals = ['Corgis', 'Otters', 'Octopi'];
awesomeAnimals[0] = 'Bunnies';
awesomeAnimals[4] = 'Corgis';
awesomeAnimals.push('Ocelots');
LOOPS
Sometimes you want to go through a piece of
code multiple times
Why?
Showing a timer count down.
Display the results of a search.
Sort a list of values.
THE WHILE LOOP
The while loop tells JS to repeat statements while
a condition is true:
Review: '++' means increment by 1!
If we forget x++, the loop will never end!
while (expression) {
// statements to repeat
}
var x = 0;
while (x < 5) {
console.log(x);
x++;
}
THE FOR LOOP
The for loop is a safer way of looping
Less danger of an infinite loop. All conditions are
at the top!
for (initialize; condition; update) {
// statements to repeat
}
for (var i = 0; i < 5; i++) {
console.log(i);
}
LOOPS AND ARRAYS
Use a for loop to easily look at each item in an
array:
var rainbowColors = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Violet'];
for (var i = 0; i < rainbowColors.length; i++) {
console.log(rainbowColors[i]);
}
LET'S DEVELOP IT
Add a new button to the exercise from last
week.
Add an onclick to the button for a function
called favoriteThings().
Create a new function called favoriteThings() in
the JavaScript file.
In the function, create an array and loop
through the results.
Write the results to the document like: "My
favorite things are: XX, YY, ZZ"
Bonus -- add an 'and' in the sentence before
the last item
LET'S ANSWER IT<button type="button" onclick="favoriteThings()"> See my favorite things</button>
function favoriteThings(){
var favoriteThings = ['Rabbits', 'Orange', 'Yogurt', 'Brussel Sprouts', 'Otters'];
var result = 'My favorite things are: ';
for (var i = 0; i < favoriteThings.length; i++) {
result += favoriteThings[i] + ', ';
}
document.write(result);
}
LET'S ANSWER IT (BONUS)function favoriteThings(){
var favoriteThings = ['Rabbits', 'Orange', 'Yogurt', 'Brussel Sprouts', 'Otters'];
var result = 'My favorite things are: ';
for (var i = 0; i < favoriteThings.length; i++) {
if (i < favoriteThings.length - 1) {
result += favoriteThings[i] + ', ';
}
else {
result += "and " + favoriteThings[i] + '.';
}
}
document.write(result);
}
OBJECTS
Objects are a data type that let us store a
collection of properties and methods.
var objectName = {
propertyName: propertyValue,
propertyName: propertyValue,
...
};
var charlie = {
age: 8,
name: "Charlie Brown",
likes: ["baseball", "The little red-haired girl"],
pet: "Snoopy"
};
OBJECTS -- RETURNING
VALUES
Access values of "properties" using "dot
notation":
var charlie = {
age: 8,
name: "Charlie Brown",
likes: ["baseball", "The little red-haired girl"],
pet: "Snoopy"
};
var pet = charlie.pet;
OBJECTS -- RETURNING
VALUES
Or using "bracket notation" (like arrays):
Non-existent properties will return undefined:
var name = charlie['name'];
var gender = charlie.gender
OBJECTS -- CHANGING
VALUES
Use dot or bracket notation with the assignment
operator to change objects.
Change existing properties:
Or add new properties:
You can also delete properties:
charlie.name = "Chuck";
charlie.gender = "male";
delete charlie.gender;
ARRAYS OF OBJECTS
Arrays can hold objects too!
That means we can use a for loop!
var peanuts = [
{name: "Charlie Brown",
pet: "Snoopy"},
{name: "Linus van Pelt",
pet: "Blue Blanket"}
];
for (var i = 0; i < peanuts.length; i++) {
var peanut = peanuts[i];
console.log(peanut.name + ' has a pet named ' + peanut.pet + '.');
}
OBJECTS IN FUNCTIONS
You can pass an object into a function as a
parameter
var peanut ={
name: "Charlie Brown",
pet: "Snoopy"
};
function describeCharacter(character){
console.log(character.name + ' has a pet named ' + character.pet + '.');
}
describeCharacter(peanut);
METHODS
Methods are functions that are associated with
an object
The affect or return a value for a specific object
Used with dot notation
Previously seen example:
document.write("Hello, world!");
METHODS
Methods can be added to objects in two ways.
Declared with the object.
Attached using dot notation.
var charlie = {
name: "Charlie",
sayHello: function () {
document.write("My name is Charlie.");
}
};
charlie.sayHello();
var charlie = { name: "Charlie"};
function sayName() {
document.write("My name is Charlie.");
}
charlie.sayHello = sayName;
charlie.sayHello();
THIS
Inside methods, properties are accessed using
the this keyword.
this refers to the "owner" of the property.
var charlie = {
name: "Charlie",
sayHello: function () {
document.write("My name is " + this.name + ".");
}
};
var lucy = {
name: "Lucy van Pelt",
sayHello: function () {
document.write("My name is " + this.name + ".");
}
};
charlie.sayHello(); //My name is Charlie.
lucy.sayHello(); //My name is Lucy van Pelt.
LET'S DEVELOP IT
Add another button that calls the function
myFriends() on click.
Add a new function called myFriends to the
JavaScript.
In the function, create an array of friends
objects, with their names and hair colors.
Use a for loop to go through each friend and
describe them.
Write the results to the document.
Bonus -- make a separate functions that
describe the friends
LET'S ANSWER IT<button href = "#" onclick="myFriends()">My friends</button>
function myFriends(){
var friends = [
{name: 'Santa Claus',
hair: 'red'},
{name: 'Easter Bunny',
hair: 'brown'},
{name: 'Tooth Fairy',
hair: 'blue'}
];
var results = "My friends: "
for(var i = 0; i < friends.length; i++){
document.write("My friend " + friend[i].name + " has " + friend[i].hair + " hair. ");
}
}
LET'S ANSWER IT (BONUS)function myFriends(){
var friends = [
{name: 'Santa Claus',
hair: 'red'},
{name: 'Easter Bunny',
hair: 'brown'},
{name: 'Tooth Fairy',
hair: 'blue'}
];
var results = "My friends: "
for(var i = 0; i < friends.length; i++){
results += describeFriend(friends[i]);
}
document.write(results)
}
function describeFriend(friend){
return "My friend " + friend.name + " has " + friend.hair + " hair. ";
}
QUESTIONS?
?
GDI Seattle - Intro to JavaScript Class 2
Ad

Recommended

PHP Unit 4 arrays
PHP Unit 4 arrays
Kumar
 
Php array
Php array
Nikul Shah
 
4.1 PHP Arrays
4.1 PHP Arrays
Jalpesh Vasa
 
Arrays in PHP
Arrays in PHP
Vineet Kumar Saini
 
DBIx::Class beginners
DBIx::Class beginners
leo lapworth
 
PHP Functions & Arrays
PHP Functions & Arrays
Henry Osborne
 
Class 4 - PHP Arrays
Class 4 - PHP Arrays
Ahmed Swilam
 
DBIx::Class introduction - 2010
DBIx::Class introduction - 2010
leo lapworth
 
Scripting3
Scripting3
Nao Dara
 
Chap 3php array part1
Chap 3php array part1
monikadeshmane
 
Handout - Introduction to Programming
Handout - Introduction to Programming
Cindy Royal
 
Php array
Php array
Core Lee
 
How to write code you won't hate tomorrow
How to write code you won't hate tomorrow
Pete McFarlane
 
Php Using Arrays
Php Using Arrays
mussawir20
 
MySQLConf2009: Taking ActiveRecord to the Next Level
MySQLConf2009: Taking ActiveRecord to the Next Level
Blythe Dunham
 
Perl
Perl
RaviShankar695257
 
Arrays in PHP
Arrays in PHP
Compare Infobase Limited
 
PHP array 1
PHP array 1
Mudasir Syed
 
Chaining and function composition with lodash / underscore
Chaining and function composition with lodash / underscore
Nicolas Carlo
 
Lodash js
Lodash js
LearningTech
 
Java script arrays
Java script arrays
Frayosh Wadia
 
Your code sucks, let's fix it
Your code sucks, let's fix it
Rafael Dohms
 
Marcs (bio)perl course
Marcs (bio)perl course
BITS
 
Python - Lecture 3
Python - Lecture 3
Ravi Kiran Khareedi
 
Ch8(oop)
Ch8(oop)
Chhom Karath
 
Marc’s (bio)perl course
Marc’s (bio)perl course
Marc Logghe
 
New cervical screening guidelines. 1
New cervical screening guidelines. 1
CSPWQ
 
Kuala Lumpur Hotels
Kuala Lumpur Hotels
quicksweet
 
GDI Seattle - Intermediate HTML and CSS Class 3 Slides
GDI Seattle - Intermediate HTML and CSS Class 3 Slides
Heather Rock
 
GDI Seattle - Intro to JavaScript Class 1
GDI Seattle - Intro to JavaScript Class 1
Heather Rock
 

More Related Content

What's hot (18)

Scripting3
Scripting3
Nao Dara
 
Chap 3php array part1
Chap 3php array part1
monikadeshmane
 
Handout - Introduction to Programming
Handout - Introduction to Programming
Cindy Royal
 
Php array
Php array
Core Lee
 
How to write code you won't hate tomorrow
How to write code you won't hate tomorrow
Pete McFarlane
 
Php Using Arrays
Php Using Arrays
mussawir20
 
MySQLConf2009: Taking ActiveRecord to the Next Level
MySQLConf2009: Taking ActiveRecord to the Next Level
Blythe Dunham
 
Perl
Perl
RaviShankar695257
 
Arrays in PHP
Arrays in PHP
Compare Infobase Limited
 
PHP array 1
PHP array 1
Mudasir Syed
 
Chaining and function composition with lodash / underscore
Chaining and function composition with lodash / underscore
Nicolas Carlo
 
Lodash js
Lodash js
LearningTech
 
Java script arrays
Java script arrays
Frayosh Wadia
 
Your code sucks, let's fix it
Your code sucks, let's fix it
Rafael Dohms
 
Marcs (bio)perl course
Marcs (bio)perl course
BITS
 
Python - Lecture 3
Python - Lecture 3
Ravi Kiran Khareedi
 
Ch8(oop)
Ch8(oop)
Chhom Karath
 
Marc’s (bio)perl course
Marc’s (bio)perl course
Marc Logghe
 
Scripting3
Scripting3
Nao Dara
 
Handout - Introduction to Programming
Handout - Introduction to Programming
Cindy Royal
 
How to write code you won't hate tomorrow
How to write code you won't hate tomorrow
Pete McFarlane
 
Php Using Arrays
Php Using Arrays
mussawir20
 
MySQLConf2009: Taking ActiveRecord to the Next Level
MySQLConf2009: Taking ActiveRecord to the Next Level
Blythe Dunham
 
Chaining and function composition with lodash / underscore
Chaining and function composition with lodash / underscore
Nicolas Carlo
 
Your code sucks, let's fix it
Your code sucks, let's fix it
Rafael Dohms
 
Marcs (bio)perl course
Marcs (bio)perl course
BITS
 
Marc’s (bio)perl course
Marc’s (bio)perl course
Marc Logghe
 

Viewers also liked (8)

New cervical screening guidelines. 1
New cervical screening guidelines. 1
CSPWQ
 
Kuala Lumpur Hotels
Kuala Lumpur Hotels
quicksweet
 
GDI Seattle - Intermediate HTML and CSS Class 3 Slides
GDI Seattle - Intermediate HTML and CSS Class 3 Slides
Heather Rock
 
GDI Seattle - Intro to JavaScript Class 1
GDI Seattle - Intro to JavaScript Class 1
Heather Rock
 
Nelson mandela
Nelson mandela
gauravamity
 
GDI Seattle - Web Accessibility Class 1
GDI Seattle - Web Accessibility Class 1
Heather Rock
 
Prova origami
Prova origami
piranzor
 
New cervical screening guidelines. 1
New cervical screening guidelines. 1
CSPWQ
 
Kuala Lumpur Hotels
Kuala Lumpur Hotels
quicksweet
 
GDI Seattle - Intermediate HTML and CSS Class 3 Slides
GDI Seattle - Intermediate HTML and CSS Class 3 Slides
Heather Rock
 
GDI Seattle - Intro to JavaScript Class 1
GDI Seattle - Intro to JavaScript Class 1
Heather Rock
 
GDI Seattle - Web Accessibility Class 1
GDI Seattle - Web Accessibility Class 1
Heather Rock
 
Prova origami
Prova origami
piranzor
 
Ad

Similar to GDI Seattle - Intro to JavaScript Class 2 (20)

Learn java script
Learn java script
Mahmoud Asadi
 
The Future of JavaScript (SXSW '07)
The Future of JavaScript (SXSW '07)
Aaron Gustafson
 
Fewd week5 slides
Fewd week5 slides
William Myers
 
Javascript 101
Javascript 101
Shlomi Komemi
 
JAVASCRIPT OBJECTS.pdf
JAVASCRIPT OBJECTS.pdf
cherop41618145
 
Week3
Week3
Will Gaybrick
 
CS101- Introduction to Computing- Lecture 26
CS101- Introduction to Computing- Lecture 26
Bilal Ahmed
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
Aiman Hud
 
1-JAVA SCRIPT. servere-side applications vs client side applications
1-JAVA SCRIPT. servere-side applications vs client side applications
surajshreyans
 
javascript arrays in details for udergaduate studenets .ppt
javascript arrays in details for udergaduate studenets .ppt
debasisdas225831
 
Front end fundamentals session 1: javascript core
Front end fundamentals session 1: javascript core
Web Zhao
 
lecture 6 javascript event and event handling.ppt
lecture 6 javascript event and event handling.ppt
ULADATZ
 
Java script
Java script
Adrian Caetano
 
The JavaScript Programming Language
The JavaScript Programming Language
Mohammed Irfan Shaikh
 
JavaScript Neednt Hurt - JavaBin talk
JavaScript Neednt Hurt - JavaBin talk
Thomas Kjeldahl Nilsson
 
Chapter 2: What's your type?
Chapter 2: What's your type?
Seth McLaughlin
 
PHP Array very Easy Demo
PHP Array very Easy Demo
Salman Memon
 
Week 6 java script loops
Week 6 java script loops
brianjihoonlee
 
JavaScript Needn't Hurt!
JavaScript Needn't Hurt!
Thomas Kjeldahl Nilsson
 
FFW Gabrovo PMG - JavaScript 2
FFW Gabrovo PMG - JavaScript 2
Toni Kolev
 
The Future of JavaScript (SXSW '07)
The Future of JavaScript (SXSW '07)
Aaron Gustafson
 
JAVASCRIPT OBJECTS.pdf
JAVASCRIPT OBJECTS.pdf
cherop41618145
 
CS101- Introduction to Computing- Lecture 26
CS101- Introduction to Computing- Lecture 26
Bilal Ahmed
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
Aiman Hud
 
1-JAVA SCRIPT. servere-side applications vs client side applications
1-JAVA SCRIPT. servere-side applications vs client side applications
surajshreyans
 
javascript arrays in details for udergaduate studenets .ppt
javascript arrays in details for udergaduate studenets .ppt
debasisdas225831
 
Front end fundamentals session 1: javascript core
Front end fundamentals session 1: javascript core
Web Zhao
 
lecture 6 javascript event and event handling.ppt
lecture 6 javascript event and event handling.ppt
ULADATZ
 
Chapter 2: What's your type?
Chapter 2: What's your type?
Seth McLaughlin
 
PHP Array very Easy Demo
PHP Array very Easy Demo
Salman Memon
 
Week 6 java script loops
Week 6 java script loops
brianjihoonlee
 
FFW Gabrovo PMG - JavaScript 2
FFW Gabrovo PMG - JavaScript 2
Toni Kolev
 
Ad

More from Heather Rock (6)

GDI Seattle - Intro to JavaScript Class 4
GDI Seattle - Intro to JavaScript Class 4
Heather Rock
 
GDI Seattle Intro to HTML and CSS - Class 4
GDI Seattle Intro to HTML and CSS - Class 4
Heather Rock
 
GDI Seattle Intro to HTML and CSS - Class 3
GDI Seattle Intro to HTML and CSS - Class 3
Heather Rock
 
Intro to HTML and CSS - Class 2 Slides
Intro to HTML and CSS - Class 2 Slides
Heather Rock
 
GDI Seattle Intermediate HTML and CSS Class 1
GDI Seattle Intermediate HTML and CSS Class 1
Heather Rock
 
GDI Seattle Intro to HTML and CSS - Class 1
GDI Seattle Intro to HTML and CSS - Class 1
Heather Rock
 
GDI Seattle - Intro to JavaScript Class 4
GDI Seattle - Intro to JavaScript Class 4
Heather Rock
 
GDI Seattle Intro to HTML and CSS - Class 4
GDI Seattle Intro to HTML and CSS - Class 4
Heather Rock
 
GDI Seattle Intro to HTML and CSS - Class 3
GDI Seattle Intro to HTML and CSS - Class 3
Heather Rock
 
Intro to HTML and CSS - Class 2 Slides
Intro to HTML and CSS - Class 2 Slides
Heather Rock
 
GDI Seattle Intermediate HTML and CSS Class 1
GDI Seattle Intermediate HTML and CSS Class 1
Heather Rock
 
GDI Seattle Intro to HTML and CSS - Class 1
GDI Seattle Intro to HTML and CSS - Class 1
Heather Rock
 

Recently uploaded (20)

Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
ICT Frame Magazine Pvt. Ltd.
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
The Future of AI Agent Development Trends to Watch.pptx
The Future of AI Agent Development Trends to Watch.pptx
Lisa ward
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
The Future of Data, AI, and AR: Innovation Inspired by You.pdf
The Future of Data, AI, and AR: Innovation Inspired by You.pdf
Safe Software
 
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
Powering Multi-Page Web Applications Using Flow Apps and FME Data Streaming
Powering Multi-Page Web Applications Using Flow Apps and FME Data Streaming
Safe Software
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
ICT Frame Magazine Pvt. Ltd.
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
The Future of AI Agent Development Trends to Watch.pptx
The Future of AI Agent Development Trends to Watch.pptx
Lisa ward
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
The Future of Data, AI, and AR: Innovation Inspired by You.pdf
The Future of Data, AI, and AR: Innovation Inspired by You.pdf
Safe Software
 
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
Powering Multi-Page Web Applications Using Flow Apps and FME Data Streaming
Powering Multi-Page Web Applications Using Flow Apps and FME Data Streaming
Safe Software
 

GDI Seattle - Intro to JavaScript Class 2

  • 3. WELCOME! Girl Develop It is here to provide affordable and accessible programs to learn software through mentorship and hands-on instruction. Some "rules" We are here for you! Every question is important Help each other Have fun
  • 4. ARRAY An array is a data-type that holds an ordered list of values, of any type: The length property reports the size of the array: var arrayName = [element0, element1, ...]; var rainbowColors = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Violet']; var favoriteNumbers = [16, 27, 88]; var luckyThings = ['Rainbows', 7, 'Horseshoes']; console.log(rainbowColors.length);
  • 5. ARRAYS -- RETURNING VALUES You can access items with "bracket notation". The number inside the brackets is called an "index" Arrays in JavaScript are "zero-indexed", which means we start counting from zero. var arrayItem = arrayName[indexNum]; var rainbowColors = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Violet']; var firstColor = rainbowColors[0]; var lastColor = rainbowColors[6];
  • 6. ARRAYS -- UPDATING VALUES You can also use bracket notation to change the item in an array: Or to add to an array: You can also use the push method (recommended): var awesomeAnimals = ['Corgis', 'Otters', 'Octopi']; awesomeAnimals[0] = 'Bunnies'; awesomeAnimals[4] = 'Corgis'; awesomeAnimals.push('Ocelots');
  • 7. LOOPS Sometimes you want to go through a piece of code multiple times Why? Showing a timer count down. Display the results of a search. Sort a list of values.
  • 8. THE WHILE LOOP The while loop tells JS to repeat statements while a condition is true: Review: '++' means increment by 1! If we forget x++, the loop will never end! while (expression) { // statements to repeat } var x = 0; while (x < 5) { console.log(x); x++; }
  • 9. THE FOR LOOP The for loop is a safer way of looping Less danger of an infinite loop. All conditions are at the top! for (initialize; condition; update) { // statements to repeat } for (var i = 0; i < 5; i++) { console.log(i); }
  • 10. LOOPS AND ARRAYS Use a for loop to easily look at each item in an array: var rainbowColors = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Violet']; for (var i = 0; i < rainbowColors.length; i++) { console.log(rainbowColors[i]); }
  • 11. LET'S DEVELOP IT Add a new button to the exercise from last week. Add an onclick to the button for a function called favoriteThings(). Create a new function called favoriteThings() in the JavaScript file. In the function, create an array and loop through the results. Write the results to the document like: "My favorite things are: XX, YY, ZZ" Bonus -- add an 'and' in the sentence before the last item
  • 12. LET'S ANSWER IT<button type="button" onclick="favoriteThings()"> See my favorite things</button> function favoriteThings(){ var favoriteThings = ['Rabbits', 'Orange', 'Yogurt', 'Brussel Sprouts', 'Otters']; var result = 'My favorite things are: '; for (var i = 0; i < favoriteThings.length; i++) { result += favoriteThings[i] + ', '; } document.write(result); }
  • 13. LET'S ANSWER IT (BONUS)function favoriteThings(){ var favoriteThings = ['Rabbits', 'Orange', 'Yogurt', 'Brussel Sprouts', 'Otters']; var result = 'My favorite things are: '; for (var i = 0; i < favoriteThings.length; i++) { if (i < favoriteThings.length - 1) { result += favoriteThings[i] + ', '; } else { result += "and " + favoriteThings[i] + '.'; } } document.write(result); }
  • 14. OBJECTS Objects are a data type that let us store a collection of properties and methods. var objectName = { propertyName: propertyValue, propertyName: propertyValue, ... }; var charlie = { age: 8, name: "Charlie Brown", likes: ["baseball", "The little red-haired girl"], pet: "Snoopy" };
  • 15. OBJECTS -- RETURNING VALUES Access values of "properties" using "dot notation": var charlie = { age: 8, name: "Charlie Brown", likes: ["baseball", "The little red-haired girl"], pet: "Snoopy" }; var pet = charlie.pet;
  • 16. OBJECTS -- RETURNING VALUES Or using "bracket notation" (like arrays): Non-existent properties will return undefined: var name = charlie['name']; var gender = charlie.gender
  • 17. OBJECTS -- CHANGING VALUES Use dot or bracket notation with the assignment operator to change objects. Change existing properties: Or add new properties: You can also delete properties: charlie.name = "Chuck"; charlie.gender = "male"; delete charlie.gender;
  • 18. ARRAYS OF OBJECTS Arrays can hold objects too! That means we can use a for loop! var peanuts = [ {name: "Charlie Brown", pet: "Snoopy"}, {name: "Linus van Pelt", pet: "Blue Blanket"} ]; for (var i = 0; i < peanuts.length; i++) { var peanut = peanuts[i]; console.log(peanut.name + ' has a pet named ' + peanut.pet + '.'); }
  • 19. OBJECTS IN FUNCTIONS You can pass an object into a function as a parameter var peanut ={ name: "Charlie Brown", pet: "Snoopy" }; function describeCharacter(character){ console.log(character.name + ' has a pet named ' + character.pet + '.'); } describeCharacter(peanut);
  • 20. METHODS Methods are functions that are associated with an object The affect or return a value for a specific object Used with dot notation Previously seen example: document.write("Hello, world!");
  • 21. METHODS Methods can be added to objects in two ways. Declared with the object. Attached using dot notation. var charlie = { name: "Charlie", sayHello: function () { document.write("My name is Charlie."); } }; charlie.sayHello(); var charlie = { name: "Charlie"}; function sayName() { document.write("My name is Charlie."); } charlie.sayHello = sayName; charlie.sayHello();
  • 22. THIS Inside methods, properties are accessed using the this keyword. this refers to the "owner" of the property. var charlie = { name: "Charlie", sayHello: function () { document.write("My name is " + this.name + "."); } }; var lucy = { name: "Lucy van Pelt", sayHello: function () { document.write("My name is " + this.name + "."); } }; charlie.sayHello(); //My name is Charlie. lucy.sayHello(); //My name is Lucy van Pelt.
  • 23. LET'S DEVELOP IT Add another button that calls the function myFriends() on click. Add a new function called myFriends to the JavaScript. In the function, create an array of friends objects, with their names and hair colors. Use a for loop to go through each friend and describe them. Write the results to the document. Bonus -- make a separate functions that describe the friends
  • 24. LET'S ANSWER IT<button href = "#" onclick="myFriends()">My friends</button> function myFriends(){ var friends = [ {name: 'Santa Claus', hair: 'red'}, {name: 'Easter Bunny', hair: 'brown'}, {name: 'Tooth Fairy', hair: 'blue'} ]; var results = "My friends: " for(var i = 0; i < friends.length; i++){ document.write("My friend " + friend[i].name + " has " + friend[i].hair + " hair. "); } }
  • 25. LET'S ANSWER IT (BONUS)function myFriends(){ var friends = [ {name: 'Santa Claus', hair: 'red'}, {name: 'Easter Bunny', hair: 'brown'}, {name: 'Tooth Fairy', hair: 'blue'} ]; var results = "My friends: " for(var i = 0; i < friends.length; i++){ results += describeFriend(friends[i]); } document.write(results) } function describeFriend(friend){ return "My friend " + friend.name + " has " + friend.hair + " hair. "; }