JavsScript Flashcards

1
Q

What is the purpose of variables?

A

-Store data for a script to do its job

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How do you declare a variable?

A

-var

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How do you initialize (assign a value to) a variable?

A

-By using the assignment operator

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What characters are allowed in variable names?

A

-Letters, numbers, dollar signs, underscore

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What does it mean to say that variable names are “case sensitive”?

A

-Score and score are different variable names

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the purpose of a string?

A

-String type data consists of letters and other characters

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the purpose of a number?

A

-Numeric data type handle number quantities

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the purpose of a boolean?

A

-Boolean data types can have one of two values: true or false.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does the = operator mean in JavaScript?

A

-Assign a value to the variable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How do you update the value of a variable?

A

-By using the assignment operator

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the difference between null and undefined?

A

-null is an intentionally assigned value to a nonexistent or invalid object, undefined means a variable has been declared but not defined yet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Why is it a good habit to include “labels” when you log values to the browser console?

A

-A console log “label” is simply a short string that describes the variable or value being logged

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Give five examples of JavaScript primitives.

A

-There are 7 primitive data types: string, number, bigint, boolean, undefined, symbol, and null

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What data type is returned by an arithmetic operation?

A

-Single numerical value

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is string concatenation?

A

-Concatenate is a fancy programming word that means “join together”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What purpose(s) does the + plus operator serve in JavaScript?

A

-The addition operator produces the sum of numeric operands or string concatenation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What data type is returned by comparing two values (, ===, etc)?

A

-Boolean

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What does the += “plus-equals” operator do?

A

-The addition assignment operator adds the value of the right operand to a variable and assigns the result to the variable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What are objects used for?

A

-Objects group together a set of variables and functions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What are object properties?

A

-Variables that are part of an object

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Describe object literal notation.

A
  • Object is the curly braces and their contents
  • Separate each key from its value using a colon
  • Separate each property and method with a comma (not after the last value)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

How do you remove a property from an object?

A
  • delete object.property

- delete object[‘property’]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What are the two ways to get or update the value of a property?

A

-dot notation or square bracket syntax

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What are arrays used for?

A

-Storing lists of values that are related to each other

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Describe array literal notation.

A
  • Values are assigned to the array inside a pair of square brackets
  • Each value is separated by a comma
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

How are arrays different from “plain” objects?

A

-Arrays create and store lists of data in a single variable while objects represent a variable with properties

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

What number represents the first index of an array?

A

0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

What is the length property of an array?

A

-Holds the number of items in the array

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

How do you calculate the last index of an array?

A

-Subtract 1 from the value of the length property of an array

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

What is a function in JavaScript?

A

-Series of statements grouped together to perform a specific task

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Describe the parts of a function definition.

A
  • function keyword
  • Name for the function
  • Comma-separated list of zero or more parameters surrounded by ()
  • Start of code block indicated by {
  • Optional return statement
  • End of code block indicated by }
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Describe the parts of a function call.

A
  • Function name

- Comma-separated list of zero or more arguments surrounded by()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

When comparing them side-by-side, what are the differences between a function call and a function definition?

A
  • Function definitions require function keywords and function callings do not require function keywords
  • Function definitions have parameters and function callings have arguments
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

What is the difference between a parameter and an argument?

A
  • Function parameters are the names listed in the function’s definition
  • Function arguments are the real values passed to the function
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Why are function parameters useful?

A

-The parameter will be holding the value of the argument

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

What two effects does a return statement have on the behavior of a function?

A
  • Causes the function to produce a value we can use in our program
  • Prevents any more code in the function’s code block from being run
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Why do we log things to the console?

A

-For debugging and an easy way to inspect your variables in the browser

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

What is a method?

A

-A method is a function that is a property of an object

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

How is a method different from any other function?

A

-Method is associated with an object while a function is not

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

How do you remove the last element from an array?

A

-Calling the pop() method of the array

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

How do you round a number down to the nearest integer?

A

-Calling the floor() method of the Math object

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

How do you generate a random number?

A

-Calling the random() method of the Math object

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

How do you delete an element from an array?

A

-Calling the pop() method of the array

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

How do you append an element to an array?

A

-Calling the push() method of the array

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

How do you break a string up into an array?

A

-Calling the split() method of the variable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

Do string methods change the original string? How would you check if you weren’t sure?

A
  • It does not

- Log the variable containing the original string to the console

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

Roughly how many string methods are there according to the MDN Web docs?

A

-A lot

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

Is the return value of a function or method useful in every situation?

A

-No because some functions don’t return any value

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

Roughly how many array methods are there according to the MDN Web docs?

A

-A lot

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

What three-letter acronym should you always include in your Google search about a JavaScript method or CSS property?

A

-MDN

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

Give 6 examples of comparison operators.

A

-==, !=, ===, !==, >, =, <=

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

What data type do comparison expressions evaluate to?

A

-Boolean

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

What is the purpose of an if statement?

A
  • If statement evalutates a condition

- If condition evaluates to true, code block is executed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

Is else required in order to use an if statement?

A

-Not required

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

Describe the syntax (structure) of an if statement.

A
  • if keyword
  • Condition between parenthesis
  • Code block between curly braces
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

What are the three logical operators?

A

-&&, ||, !

57
Q

How do you compare two different expressions in the same condition?

A

-Using &&

58
Q

What is the purpose of a loop?

A
  • Checks a condition and runs the code if the condition returns true
  • Stops the code when the code returns false
59
Q

What is the purpose of a condition expression in a loop?

A

-Determines whether to keep going or stop

60
Q

What does “iteration” mean in the context of loops?

A

-Every time a code block runs

61
Q

When does the condition expression of a while loop gets evaluated?

A

-Before the code block

62
Q

When does the initialization expression of a for loop get evaluated?

A

-Start of the loop, before the condition

63
Q

When does the condition expression of a for loop get evaluated?

A

-Before each iteration

64
Q

When does the final expression of a for loop get evaluated?

A

-At the end of each iteration and before the condition runs again

65
Q

Besides a return statement, which exits its entire function block, which keyword exits a loop before its condition expression evaluates to false?

A

-Break

66
Q

What does the ++ increment operator do?

A

-Adds 1 to the counter

67
Q

How do you iterate through the keys of an object?

A

-Using the for in loop

68
Q

What event is fired when a user places their cursor in a form control?

A

focus

69
Q

What event is fired when a user’s cursor leaves a form control?

A

blur

70
Q

What event is fired as a user changes the value of a form control?

A

input

71
Q

What event is fired when a user clicks the “submit” button within a ?

A

submit

72
Q

What does the event.preventDefault() method do?

A

Default action should not be taken as it normally would be.

73
Q

What does submitting a form without event.preventDefault() do?

A

Browser will automatically reload the page

74
Q

What property of a form element object contains all of the form’s controls.

A

.elements

75
Q

What property of form a control object gets and sets its value?

A

.name

76
Q

What is one risk of writing a lot of code without checking to see if it works so far?

A

To avoid rewriting the entire code

77
Q

What is an advantage of having your console open when writing a JavaScript program?

A

Constantly check if my code isn’t breaking

78
Q

What is the event.target?

A

The target of the event (most specific element interacted with)

79
Q

What is the affect of setting an element to display: none?

A

Turns off the display of an element so that it has no effect on layout (the document is rendered as though the element did not exist).

80
Q

What does the element.matches() method take as an argument and what does it return?

A

Checks if the element “is” the selector.

81
Q

How can you retrieve the value of an element’s attribute?

A

getAttribute()

82
Q

At what steps of the solution would it be helpful to log things to the console?

A

Every step

83
Q

If you were to add another tab and view to your HTML, but you didn’t use event delegation, how would your JavaScript code be written instead?

A

Event listener for every DOM element

84
Q

If you didn’t use a loop to conditionally show or hide the views in the page, how would your JavaScript code be written instead?

A

Event listener for every DOM element

85
Q

What is JSON?

A

JSON is an extremely common data interchange format used to send and store information in computer systems.

86
Q

What are serialization and deserialization?

A

The process whereby an object or data structure is translated into a format suitable for transferral over a network, or storage
The process whereby a lower-level format is translated into a readable object or other data structure

87
Q

Why are serialization and deserialization useful?

A

Useful when you want to transmit data across a network.

88
Q

How do you serialize a data structure into a JSON string using JavaScript?

A

JSON.stringify

89
Q

How do you deserialize a JSON string into a data structure using JavaScript?

A

JSON.parse

90
Q

How do you store data in localStorage?

A

Storage.setItem()

91
Q

How do you retrieve data from localStorage?

A

Storage.getItem()

92
Q

What data type can localStorage save in the browser?

A

UTF-16 DOMString format, which uses two bytes per character

93
Q

When does the ‘beforeunload’ event fire on the window object?

A

The beforeunload event is fired when the window, the document and its resources are about to be unloaded

94
Q

What is a method?

A

Method is a function which is a property of an object

95
Q

How can you tell the difference between a method definition and a method call?

A

Method definition occurs inside the object literal while method call occurs by using dot notation

96
Q

Describe method definition syntax (structure).

A

Defines method inside object literal without function keyword

97
Q

Describe method call syntax (structure).

A

Call the method by using dot notation

98
Q

How is a method different from any other function?

A

Method is associated with an object while a function is not

99
Q

What is the defining characteristic of Object-Oriented Programming?

A

Objects can contain both data (as properties) and behavior (as methods)

100
Q

What are the four “principles” of Object-Oriented Programming?

A

Abstraction, Encapsulation, Inheritance, Polymorphism

101
Q

What is “abstraction”?

A

Being able to work with possibly complex things in simple ways

102
Q

What does API stand for?

A

Application Programming Interface

103
Q

What is the purpose of an API?

A

Offers service to other pieces of software

104
Q

What is this in JavaScript?

A

Object this is acting on

105
Q

What does it mean to say that this is an “implicit parameter”?

A

Implicit parameter is available in a function’s code block even though it was never included in the function’s parameter list or declared with var

106
Q

When is the value of this determined in a function; call time or definition time?

A

Call time

107
Q
What does this refer to in the following code snippet?
  var character = {
    firstName: 'Mario',
    greet: function () {
      var message = 'It\'s-a-me, ' + this.firstName + '!';
      console.log(message);
    }
  };
A

nothing

108
Q

Given the above character object, what is the result of the following code snippet? Why?
character.greet();

A

‘It’s-a-me, Mario!’

this is character

109
Q
Given the above character object, what is the result of the following code snippet? Why?
  var hello = character.greet;
  hello();
A

‘It’s-a-me, undefined!’

110
Q

How can you tell what the value of this will be for a particular function or method definition?

A

If you cannot see the function being called, then you do not know what the value of this will be.

111
Q

How can you tell what the value of this is for a particular function or method call?

A

The value of this can be recognized as “the object to the left of the dot” when the function is called (as a method).

112
Q

What kind of inheritance does the JavaScript programming language use?

A

prototype-based inheritance

113
Q

What is a prototype in JavaScript?

A

JavaScript prototype is simply an object that contains properties and (predominantly) methods that can be used by other objects

114
Q

How is it possible to call methods on strings, arrays, and numbers even though those methods don’t actually exist on objects, arrays, and numbers?

A

Methods are defined on a “prototype” object and arrays simply borrow those methods when they’re needed

115
Q

If an object does not have it’s own property or method by a given key, where does JavaScript look for it?

A

Prototypes

116
Q

What does the new operator do?

A
  • Creates a blank, plain JavaScript object
  • Adds a property to the new object (__proto__) that links to the constructor function’s prototype object
  • Binds the newly created object instance as the this context
  • Returns this if the function doesn’t return an object
117
Q

What property of JavaScript functions can store shared behavior for instances created with new?

A

prototype

118
Q

What does the instanceof operator do?

A
  • The instanceof operator tests to see if the prototype property of a constructor appears anywhere in the prototype chain of an object
  • Return value is a boolean value
119
Q

What is a callback function?

A

A callback function is a function passed into another function as an argument

120
Q

Besides adding an event listener callback function to an element or the document, what is one way to delay the execution of a JavaScript function until some point in the future?

A

-setTimeout()

121
Q

How can you set up a function to be called repeatedly without using a loop?

A

-setInterval()

122
Q

What is the default time delay if you omit the delay parameter from setTimeout() or setInterval()?

A

-Execute immediately

123
Q

What do setTimeout() and setInterval() return?

A

-Positive integer value which identifies the timer created by the call to setTimeout() or setInterval()

124
Q

What is a client?

A

-Piece of computer hardware or software that accesses a service made available by a server

125
Q

What is a server?

A

-Piece of computer hardware or software that provides functionality for other programs or devices

126
Q

Which HTTP method does a browser issue to a web server when you visit a URL?

A

-GET

127
Q

What three things are on the start-line of an HTTP request message?

A

-HTTP method, request target, HTTP version

128
Q

What three things are on the start-line of an HTTP response message?

A

-Protocol version, status code, status text

129
Q

What are HTTP headers?

A

-HTTP headers let the client and the server pass additional information with an HTTP request or response

130
Q

Where would you go if you wanted to learn more about a specific HTTP Header?

A

-MDN

131
Q

Is a body required for a valid HTTP request or response message?

A
  • Not all HTTP requests or responses have a body
  • Requests fetching resources, like GET, HEAD, DELETE, or OPTIONS, usually don’t need one
  • Responses with a status code that sufficiently answers the request without the need for corresponding payload usually don’t
132
Q

What is AJAX?

A

-Technique for loading data into part of a page without having to refresh the entire page

133
Q

What does the AJAX acronym stand for?

A

-Asynchronous JavaScript and XML

134
Q

Which object is built into the browser for making HTTP requests in JavaScript?

A

-XMLHttpRequest or XHR

135
Q

What event is fired by XMLHttpRequest objects when they are finished loading the data from the server?

A

-load

136
Q

Bonus Question: An XMLHttpRequest object has an addEventListener() method just like DOM elements. How is it possible that they both share this functionality?

A
  • XHR object inherits properties of XMLHttpRequestEventTarget and of EventTarget
  • XHR objects DOM element are both a event targets and share the addEventListener method
137
Q

What is Array.prototype.filter useful for?

A

-For creating a new array with all elements that pass the test implemented by the provided function

138
Q

What is Array.prototype.map useful for?

A

-Creates a new array populated with the results of calling a provided function on every element in the calling array

139
Q

What is Array.prototype.reduce useful for?

A
  • Executes a “reducer” callback function on each element of the array
  • Passes the return value from the calculation on the preceding element
  • The return value of reduce() is a single value