Including JavaScript in an HTML Page
<script type="text/javascript">
  //JS code goes here
</script>
Call an External JavaScript File
<script src="myscript.js"></script><code></code>
Including Comments
Single line comments - //
Multi-line comments - /* comment here */
VARIABLES IN JAVASCRIPT
var, const, let
var — The most common variable. Can be reassigned but only accessed
within a function. Variables defined with var move to the top when
code is executed.
const — Can not be reassigned and not accessible before they appear
within the code.
let — Similar to const, however, let variable can be reassigned but
not re-declared.
Data Types
Numbers — var age = 23
Variables — var x
Text (strings) — var a = "init"
Operations — var b = 1 + 2 + 3
page3image172363072page3image172363328page3image172363584page3image172363904page3image172364160page3image172364416page3image172364944page3image172365264page3image172365520page3image172365840page3image172366096page3image172378560page3image172378752
3 of 24
True or fase statements — var c = true
Constant numbers — const PI = 3.14
Objects — var name = {firstName:"John", lastName:”Doe"}
Objects
var person = {
    firstName:"John",
    lastName:"Doe",
    age:20,
    nationality:"German"
};
THE NEXT LEVEL: ARRAYS
var fruit = ["Banana", "Apple", "Pear"];
Array Methods
concat() — Join several arrays into one
indexOf() — Returns the primitive value of the specified object
join() — Combine elements of an array into a single string and return
the string
lastIndexOf() — Gives the last position at which a given element
appears in an array
pop() — Removes the last element of an array
push() — Add a new element at the end
reverse() — Sort elements in descending order
shift() — Remove the first element of an array
slice() — Pulls a copy of a portion of an array into a new array
page4image213845872page4image213846128page4image213846384page4image213846704page4image213846960page4image213847216page4image213847472page4image213847792page4image213848048page4image213848304page4image213848560page4image213848816page4image213849136page4image213849392page4image213849648page4image213850160page4image213850352page4image213850544page4image213850800
4 of 24
sort() — Sorts elements alphabetically
splice() — Adds elements in a specified way and position
toString() — Converts elements to strings
unshift() — Adds a new element to the beginning
valueOf() — Returns the first position at which a given element
appears in an array
OPERATORS
Basic Operators
— Addition
- — Subtraction
* — Multiplication
— Division
(...) — Grouping operator, operations within brackets are executed
earlier than those outside
% — Modulus (remainder )
++ — Increment numbers
-- — Decrement numbers
Comparison Operators
== — Equal to
=== — Equal value and equal type
!= — Not equal
!== — Not equal value or not equal type
> — Greater than
< — Less than
>= — Greater than or equal to
page5image216033456page5image216033712page5image216033968page5image216034288page5image216034544page5image216034800page5image216035056page5image216035376page5image216035632page5image216035888page5image216036144page5image216036400page5image216036720page5image216036976page5image216037232page5image216037744page5image216037936page5image216038128page5image216038384page5image216038640
<= — Less than or equal to
? — Ternary operator
Logical Operators
&& — Logical and
|| — Logical or
! — Logical not
Bitwise Operators
& — AND statement
| — OR statement
~ — NOT
^ — XOR
<< — Left shift
>> — Right shift
>>> — Zero fill right shift
FUNCTIONS
function name(parameter1, parameter2, parameter3) {
    // what the function does
}
Outputting Data
alert() — Output data in an alert box in the browser window
confirm() — Opens up a yes/no dialog and returns true/false depending
on user click
console.log() — Writes information to the browser console, good for
debugging purposes
page6image215330544page6image215330800page6image215331152page6image215331408page6image215331664page6image215331920page6image215332176page6image215332496page6image215332752page6image215333008page6image215333584page6image215333840page6image215334096page6image215334352page6image215334864page6image215335056page6image215335248
document.write() — Write directly to the HTML document
prompt() — Creates an dialogue for user input
Global Functions
decodeURI() — Decodes a Uniform Resource Identifier (URI) created
by encodeURI or similar
decodeURIComponent() — Decodes a URI component
encodeURI() — Encodes a URI into UTF-8
encodeURIComponent() — Same but for URI components
eval() — Evaluates JavaScript code represented as a string
isFinite() — Determines whether a passed value is a finite number
isNaN() — Determines whether a value is NaN or not
Number() — Returns a number converted from its argument
parseFloat() — Parses an argument and returns a floating point number
parseInt() — Parses its argument and returns an integer


JAVASCRIPT LOOPS
for (before loop; condition for loop; execute after loop) {
    // what to do during the loop
}
for — The most common way to create a loop in JavaScript
while — Sets up conditions under which aloop executes
do while — Similar to the while loop, however, it executes at least
once and performs a check at the end to see if the condition is met
to execute again
break — Used to stop and exit the cycle at certain conditions
continue — Skip parts of the cycle if certain conditions are met
page7image216157328page7image216157584page7image216157840page7image216158160page7image216158416page7image216158672page7image216158928page7image216159248page7image216159504page7image216159760page7image216160016page7image216160272page7image216160592page7image216160848page7image216161104page7image216161616page7image216161808page7image216162000page7image216162256page7image216162512

IF - ELSE STATEMENTS
if (condition) {
    // what to do if condition is met
} else {
    // what to do if condition is not met
}
STRINGS
var person = "John Doe";
Escape Characters
\' — Single quote
\" — Double quote
\\ — Backslash
\b — Backspace
\f — Form feed
\n — New line
\r — Carriage return
\t — Horizontal tabulator
\v — Vertical tabulator
String Methods
charAt() — Returns a character at a specified position inside a
string
charCodeAt() — Gives you the unicode of character at that position
concat() — Concatenates (joins) two or more strings into one
page8image216288128page8image216288384page8image216288640page8image216288960page8image216289216page8image216289472page8image216289728page8image216290048page8image216290304page8image216290560page8image216290816page8image216291136page8image216291392page8image216291648page8image216291904page8image216292416page8image216292608page8image216292800
fromCharCode() — Returns a string created from the specified sequence
of UTF-16 code units
indexOf() — Provides the position of the first occurrence of a
specified text within a string
lastIndexOf() — Same as indexOf() but with the last occurrence,
searching backwards
match() — Retrieves the matches of a string against a search pattern
replace() — Find and replace specified text in a string
search() — Executes a search for a matching text and returns its
position
slice() — Extracts a section of a string and returns it as a new
string
split() — Splits a string object into an array of strings at a
specified position
substr() —  Similar to slice() but extracts a substring depended on a
specified number of characters
substring() — Also similar to slice() but can’t accept negative
indices
toLowerCase() — Convert strings to lower case
toUpperCase() — Convert strings to upper case
valueOf() — Returns the primitive value (that has no properties or
methods) of a string object

REGULAR EXPRESSION SYNTAX
Pattern Modifiers
e — Evaluate replacement
i — Perform case-insensitive matching
g — Perform global matching
m — Perform multiple line matching
s — Treat strings as single line
page9image215499008page9image215499264page9image215499520page9image215499840page9image215500096page9image215500352page9image215500608page9image215500928page9image215501184page9image215501440page9image215501696page9image215502016page9image215502272page9image215502528page9image215502784page9image215503296page9image215503488
9 of 24
x — Allow comments and whitespace in pattern
U — Ungreedy pattern
Brackets
[abc] — Find any of the characters between the brackets
[^abc] — Find any character not in the brackets
[0-9] — Used to find any digit from 0 to 9
[A-z] — Find any character from uppercase A to lowercase z
(a|b|c) — Find any of the alternatives separated with |
Metacharacters
. — Find a single character, except newline or line terminator
\w — Word character
\W — Non-word character
\d — A digit
\D — A non-digit character
\s — Whitespace character
\S — Non-whitespace character
\b — Find a match at the beginning/end of a word
\B — A match not at the beginning/end of a word
\0 — NUL character
\n — A new line character
\f — Form feed character
\r — Carriage return character
\t — Tab character
\v — Vertical tab character
\xxx — The character specified by an octal number xxx
page10image215626368page10image215626624page10image215626880page10image215627200page10image215627456page10image215627712page10image215627968page10image215628288page10image215628544page10image215628800page10image215629056page10image215629312page10image215629568page10image215629824page10image215630144page10image215630656page10image215630848page10image215631040page10image215631296page10image215631552page10image215631808page10image215632064page10image215632320
\xdd — Character specified by a hexadecimal number dd
\uxxxx — The Unicode character specified by a hexadecimal number xxxx
Quantifiers
n+ — Matches any string that contains at least one n
n* — Any string that contains zero or more occurrences of n
n? — A string that contains zero or one occurrences of n
n{X} — String that contains a sequence of X n’s
n{X,Y} — Strings that contains a sequence of X to Y n’s
n{X,} — Matches any string that contains a sequence of at least X n’s
n$ — Any string with n at the end of it
^n — String with n at the beginning of it
?=n — Any string that is followed by a specific string n
?!n — String that is not followed by a specific string n
NUMBERS AND MATH
Number Properties
MAX_VALUE — The maximum numeric value representable in JavaScript
MIN_VALUE — Smallest positive numeric value representable in
JavaScript
NaN — The “Not-a-Number” value
NEGATIVE_INFINITY — The negative Infinity value
POSITIVE_INFINITY — Positive Infinity value
Number Methods
toExponential() — Returns a string with a rounded number written as
exponential notation
page11image215799072page11image215799328page11image215799584page11image215799904page11image215800160page11image215800416page11image215800672page11image215800992page11image215801248page11image215801504page11image215801760page11image215802080page11image215802336page11image215802592page11image215802848page11image215803360page11image215803552page11image215803744
11 of 24
toFixed() — Returns the string of a number with a specified number of
decimals
toPrecision() — String of a number written with a specified length
toString() — Returns a number as a string
valueOf() — Returns a number as a number
Math Properties
E — Euler’s number
LN2 — The natural logarithm of 2
LN10 — Natural logarithm of 10
LOG2E — Base 2 logarithm of E
LOG10E — Base 10 logarithm of E
PI — The number PI
SQRT1_2 — Square root of 1/2
SQRT2 — The square root of 2
Math Methods
abs(x) — Returns the absolute (positive) value of x
acos(x) — The arccosine of x, in radians
asin(x) — Arcsine of x, in radians
atan(x) — The arctangent of x as a numeric value
atan2(y,x) — Arctangent of the quotient of its arguments
ceil(x) — Value of x rounded up to its nearest integer
cos(x) — The cosine of x (x is in radians)
exp(x) — Value of Ex
floor(x) — The value of x rounded down to its nearest integer
log(x) — The natural logarithm (base E) of x
page12image215943776page12image215944032page12image215944288page12image215944608page12image215944864page12image215945120page12image215945376page12image215945696page12image215945952page12image215946208page12image215946464page12image215946720page12image215946976page12image215947296page12image215947552page12image215948064page12image215948256page12image215948448page12image215948704page12image215948960page12image215949216page12image215949472
12 of 24
max(x,y,z,...,n) — Returns the number with the highest value
min(x,y,z,...,n) — Same for the number with the lowest value
pow(x,y) — X to the power of y
random() — Returns a random number between 0 and 1
round(x) — The value of x rounded to its nearest integer
sin(x) — The sine of x (x is in radians)
sqrt(x) — Square root of x
tan(x) — The tangent of an angle
DEALING WITH DATES IN JAVASCRIPT
Setting Dates
Date() — Creates a new date object with the current date and time
Date(2017, 5, 21, 3, 23, 10, 0) — Create a custom date object. The
numbers represent year, month, day, hour, minutes, seconds,
milliseconds. You can omit anything you want except for year and
month.
Date("2017-06-23") — Date declaration as a string Pulling Date and Time Values
getDate() — Get the day of the month as a number (1-31)
getDay() — The weekday as a number (0-6)
getFullYear() — Year as a four digit number (yyyy)
getHours() — Get the hour (0-23)
getMilliseconds() — The millisecond (0-999)
getMinutes() — Get the minute (0-59)
getMonth() —  Month as a number (0-11)
getSeconds() — Get the second (0-59)
getTime() — Get the milliseconds since January 1, 1970
page13image216410640page13image216410896page13image216411152page13image216411472page13image216411728page13image216411984page13image216412240page13image216412560page13image216412816page13image216413072page13image216413328page13image216413584page13image216413904page13image216414160page13image216414416page13image216414928page13image216415120page13image216415312page13image216415568
13 of 24
getUTCDate() — The day (date) of the month in the specified date
according to universal time (also available for day, month, fullyear,
hours, minutes etc.)
parse — Parses a string representation of a date, and returns the
number of milliseconds since January 1, 1970
Set Part of a Date
setDate() — Set the day as a number (1-31)
setFullYear() — Sets the year (optionally month and day)
setHours() — Set the hour (0-23)
setMilliseconds() — Set milliseconds (0-999)
setMinutes() — Sets the minutes (0-59)
setMonth() — Set the month (0-11)
setSeconds() — Sets the seconds (0-59)
setTime() — Set the time (milliseconds since January 1, 1970)
setUTCDate() — Sets the day of the month for a specified date
according to universal time (also available for day, month, fullyear,
hours, minutes etc.)
DOM MODE
Node Properties
attributes — Returns a live collection of all attributes registered
to and element
baseURI — Provides the absolute base URL of an HTML element
childNodes — Gives a collection of an element’s child nodes
firstChild — Returns the first child node of an element
lastChild — The last child node of an element
nextSibling — Gives you the next node at the same node tree level
nodeName — Returns the name of a node
page6image215333264page14image217113904page14image217114160page14image217114416page14image217114736page14image217114992page14image217115248page14image217115504page14image217115824page14image217116080page14image217116336page14image217116592page14image217116912page14image217117168page14image217117424page14image217117680page14image217118192page14image217118384page14image217118576
14 of 24
nodeType — Returns the type of a node
nodeValue — Sets or returns the value of a node
ownerDocument — The top-level document object for this node
parentNode — Returns the parent node of an element
previousSibling — Returns the node immediately preceding the current
one
textContent — Sets or returns the textual content of a node and its
descendants
Node Methods
appendChild() — Adds a new child node to an element as the last child
node
cloneNode() — Clones an HTML element
compareDocumentPosition() — Compares the document position of two
elements
getFeature() — Returns an object which implements the APIs of a
specified feature
hasAttributes() — Returns true if an element has any attributes,
otherwise false
hasChildNodes() — Returns true if an element has any child nodes,
otherwise false
insertBefore() — Inserts a new child node before a specified,
existing child node
isDefaultNamespace() — Returns true if a specified namespaceURI is
the default, otherwise false
isEqualNode() — Checks if two elements are equal
isSameNode() — Checks if two elements are the same node
isSupported() — Returns true if a specified feature is supported on
the element
lookupNamespaceURI() — Returns the namespaceURI associated with a
given node
page15image216584160page15image216584416page15image216584672page15image216584992page15image216585248page15image216585504page15image216585760page15image216586080page15image216586336page15image216586592page15image216586848page15image216587168page15image216587424page15image216587680page15image216587936page15image216588448page15image216588640page15image216588832
15 of 24
lookupPrefix() — Returns a DOMString containing the prefix for a
given namespaceURI, if present
normalize() — Joins adjacent text nodes and removes empty text nodes
in an element
removeChild() — Removes a child node from an element
replaceChild() — Replaces a child node in an element
Element Methods
getAttribute() — Returns the specified attribute value of an element
node
getAttributeNS() — Returns string value of the attribute with the
specified namespace and name
getAttributeNode() — Gets the specified attribute node
getAttributeNodeNS() — Returns the attribute node for the attribute
with the given namespace and name
getElementsByTagName() — Provides a collection of all child elements
with the specified tag name
getElementsByTagNameNS() —  Returns a live HTMLCollection of elements
with a certain tag name belonging to the given namespace
hasAttribute() — Returns true if an element has any attributes,
otherwise false
hasAttributeNS() — Provides a true/false value indicating whether the
current element in a given namespace has the specified attribute
removeAttribute() — Removes a specified attribute from an element
removeAttributeNS() — Removes the specified attribute from an element
within a certain namespace
removeAttributeNode() — Takes away a specified attribute node and
returns the removed node
setAttribute() — Sets or changes the specified attribute to a
specified value
setAttributeNS() —  Adds a new attribute or changes the value of an
attribute with the given namespace and name
setAttributeNode() — Sets or changes the specified attribute node16 of 24
page16image216814592page16image216814848page16image216815104page16image216815424page16image216815680page16image216815936page16image216816192page16image216816512page16image216816768page16image216817024page16image216817280page16image216817536page16image216817792page16image216818048page16image216818304page16image216818816page16image216819008page16image216819456
setAttributeNodeNS() — Adds a new namespaced attribute node to an
element
WORKING WITH THE USER BROWSER
Window Properties
closed — Checks whether a window has been closed or not and returns
true or false
defaultStatus — Sets or returns the default text in the statusbar of
a window
document — Returns the document object for the window
frames — Returns all <iframe> elements in the current window
history — Provides the History object for the window
innerHeight — The inner height of a window’s content area
innerWidth — The inner width of the content area
length — Find out the number of  <iframe> elements in the window
location — Returns the location object for the window
name — Sets or returns the name of a window
navigator — Returns the Navigator object for the window
opener — Returns a reference to the window that created the window
outerHeight — The outer height of a window, including toolbars/
scrollbars
outerWidth — The outer width of a window, including toolbars/
scrollbars
pageXOffset — Number of pixels the current document has been scrolled
horizontally
pageYOffset — Number of pixels the document has been scrolled
vertically
parent — The parent window of the current window
screen — Returns the Screen object for the window
page17image217284896page17image217285152page17image217285408page17image217285728page17image217285984page17image217286240page17image217286496page17image217286816page17image217287072page17image217287328page17image217287584page17image217287840page17image217288160page17image217288416page17image217288672page17image217289184page17image217289376page17image217289568page17image217289824
17 of 24
screenLeft — The horizontal coordinate of the window (relative to
screen)
screenTop — The vertical coordinate of the window
screenX — Same as screenLeft but needed for some browsers
screenY — Same as screenTop but needed for some browsers
self — Returns the current window
status — Sets or returns the text in the statusbar of a window
top — Returns the topmost browser window
Window Methods
alert() — Displays an alert box with a message and an OK button
blur() — Removes focus from the current window
clearInterval() — Clears a timer set with setInterval()
clearTimeout() — Clears a timer set with setTimeout()
close() — Closes the current window
confirm() — Displays a dialogue box with a message and
an OK and Cancelbutton
focus() — Sets focus to the current window
moveBy() — Moves a window relative to its current position
moveTo() — Moves a window to a specified position
open() — Opens a new browser window
print() — Prints the content of the current window
prompt() — Displays a dialogue box that prompts the visitor for input
resizeBy() — Resizes the window by the specified number of pixels
resizeTo() — Resizes the window to a specified width and height
scrollBy() — Scrolls the document by a specified number of pixels
scrollTo() — Scrolls the document to specified coordinates
page18image216894320page18image216894576page18image216894832page18image216895152page18image216895408page18image216895664page18image216895920page18image216896240page18image216896496page18image216896752page18image216897008page18image216897264page18image216897520page18image216897776page18image216898096page18image216898608page18image216898800page18image216898992page18image216899248page18image216899504page18image216899760page18image216900016page18image216900272
18 of 24
setInterval() — Calls a function or evaluates an expression at
specified intervals
setTimeout() — Calls a function or evaluates an expression after a
specified interval
stop() — Stops the window from loading Screen Properties
availHeight — Returns the height of the screen (excluding the Windows
Taskbar)
availWidth — Returns the width of the screen (excluding the Windows
Taskbar)
colorDepth — Returns the bit depth of the color palette for
displaying images
height — The total height of the screen
pixelDepth — The color resolution of the screen in bits per pixel
width — The total width of the screen
JAVASCRIPT EVENTS
Mouse
onclick — The event occurs when the user clicks on an element
oncontextmenu — User right-clicks on an element to open a context
menu
ondblclick — The user double-clicks on an element
onmousedown — User presses a mouse button over an element
onmouseenter — The pointer moves onto an element
onmouseleave — Pointer moves out of an element
onmousemove — The pointer is moving while it is over an element
onmouseover — When the pointer is moved onto an element or one of its
children
page19image226515968page19image226516224page19image226516480page19image226516800page19image226517056page19image226517312page19image226517568page19image226517888page19image226518144page19image226518400page19image226518656page19image226518976page19image226519232page19image226519488page19image226519744page19image226520256page19image226520448
19 of 24
onmouseout — User moves the mouse pointer out of an element or one of
its children
onmouseup — The user releases a mouse button while over an element Keyboard
onkeydown — When the user is pressing a key down
onkeypress — The moment the user starts pressing a key
onkeyup — The user releases a key
Frame
onabort — The loading of a media is aborted
onbeforeunload — Event occurs before the document is about to be
unloaded
onerror — An error occurs while loading an external file
onhashchange — There have been changes to the anchor part of a URL
onload — When an object has loaded
onpagehide — The user navigates away from a webpage
onpageshow — When the user navigates to a webpage
onresize — The document view is resized
onscroll — An element’s scrollbar is being scrolled
onunload — Event occurs when a page has unloaded
Form
onblur — When an element loses focus
onchange — The content of a form element changes
(for <input>, <select>and <textarea>)
onfocus — An element gets focus
onfocusin — When an element is about to get focus
onfocusout — The element is about to lose focus
page20image226671168page20image226671424page20image226671680page20image226672000page20image226672256page20image226672512page20image226672768page20image226673088page20image226673344page20image226673600page20image226673856page20image226674112page20image226674432page20image226674688page20image226674944page20image226675456page20image226675648page20image226675840page20image226676096
20 of 24
oninput — User input on an element
oninvalid — An element is invalid
onreset — A form is reset
onsearch — The user writes something in a search field
(for <input="search">)
onselect — The user selects some text (for <input> and <textarea>)
onsubmit — A form is submitted
Drag
ondrag — An element is dragged
ondragend — The user has finished dragging the element
ondragenter — The dragged element enters a drop target
ondragleave — A dragged element leaves the drop target
ondragover — The dragged element is on top of the drop target
ondragstart — User starts to drag an element
ondrop — Dragged element is dropped on the drop target
Clipboard
oncopy — User copies the content of an element
oncut — The user cuts an element’s content
onpaste — A user pastes content in an element
Media
onabort — Media loading is aborted
oncanplay — The browser can start playing media (e.g. a file has
buffered enough)
oncanplaythrough — When browser can play through media without
stopping
ondurationchange — The duration of the media changes
page21image217526592page21image217526848page21image217527104page21image217527424page21image217527680page21image217527936page21image217528192page21image217528512page21image217528768page21image217529024page21image217529280page21image217529536page21image217529856page21image217530112page21image217530368page21image217530880page21image217531072page21image217531264page21image217531520
21 of 24
onended — The media has reach its end
onerror — Happens when an error occurs while loading an external file
onloadeddata — Media data is loaded
onloadedmetadata — Meta data (like dimensions and duration) are
loaded
onloadstart — Browser starts looking for specified media
onpause — Media is paused either by the user or automatically
onplay — The media has been started or is no longer paused
onplaying — Media is playing after having been paused or stopped for
buffering
onprogress — Browser is in the process of downloading the media
onratechange — The playing speed of the media changes
onseeked — User is finished moving/skipping to a new position in the
media
onseeking — The user starts moving/skipping
onstalled — The browser is trying to load the media but it is not
available
onsuspend — Browser is intentionally not loading media
ontimeupdate — The playing position has changed (e.g. because of fast
forward)
onvolumechange — Media volume has changed (including mute)
onwaiting — Media paused but expected to resume (for example,
buffering)
Animation
animationend — A CSS animation is complete
animationiteration — CSS animation is repeated
animationstart — CSS animation has started
page22image226780768page22image226781024page22image226781280page22image226781600page22image226781856page22image226782112page22image226782368page22image226782688page22image226782944page22image226783200page22image226783456page22image226783712page22image226783968page22image226784224page22image226784480page22image226784992page22image226785184page22image226785376page22image226785632page22image226785888
Other
22 of 24
transitionend — Fired when a CSS transition has completed
onmessage — A message is received through the event source
onoffline — Browser starts to work offline
ononline — The browser starts to work online
onpopstate — When the window’s history changes
onshow — A <menu> element is shown as a context menu
onstorage — A Web Storage area is updated
ontoggle — The user opens or closes the <details> element
onwheel — Mouse wheel rolls up or down over an element
ontouchcancel — Screen touch is interrupted
ontouchend — User finger is removed from a touch screen
ontouchmove — A finger is dragged across the screen
ontouchstart — Finger is placed on touch screen
Errors
try — Lets you define a block of code to test for errors
catch — Set up a block of code to execute in case of an error
throw — Create custom error messages instead of the standard
JavaScript errors
finally — Lets you execute code, after try and catch, regardless of
the result
Error Name Values
name — Sets or returns the error name
message — Sets or returns an error message in string from
EvalError — An error has occurred in the eval() function
RangeError — A number is “out of range”
ReferenceError — An illegal reference has occurred
page23image215169232page23image215169488page23image215169744page23image215170064page23image215170320page23image215170576page23image215170832page23image215171152page23image215171408page23image215171664page23image215171920page23image215172176page23image215172432page23image215172752page23image215173008page23image215173520page23image215173712page23image215173904page23image215174160page23image215174416page23image215174672
23 of 24
SyntaxError — A syntax error has occurred
TypeError — A type error has occurred
URIError — An encodeURI() error has occurred
page24image172253664page24image172253920

Post a Comment

Mới hơn Cũ hơn