parent
97f84bf65f
commit
50c30655d7
@ -0,0 +1,12 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Inline Script</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<button onclick="alert('Welcome to 30DaysOfJavaScript!')">Click Me</button>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,14 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Internal Script</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
console.log('Welcome to 30DaysOfJavaScript')
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,12 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: External Script</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script src="script.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1 @@
|
|||||||
|
console.log('Welcome to 30DaysOfJavaScript!')
|
@ -0,0 +1,13 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Multiple External Scripts</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script src="main.js"></script>
|
||||||
|
<script src="message.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1 @@
|
|||||||
|
console.log('This is the main script.')
|
@ -0,0 +1 @@
|
|||||||
|
console.log('This is the message script.')
|
@ -0,0 +1,19 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Numbers</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
console.log(-1) // Negative integer
|
||||||
|
console.log(0) // Zero integer
|
||||||
|
console.log(1) // Positive integer
|
||||||
|
console.log(-1.1) // Negative decimal
|
||||||
|
console.log(0.0) // Zero decimal
|
||||||
|
console.log(1.0) // Positive decimal
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,16 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Strings</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
console.log('This string is written between single quotes.') // Single quotes
|
||||||
|
console.log("This string is written between double quotes.") // Double quotes
|
||||||
|
console.log(`This string is written between backticks.`) // Backticks
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,15 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Booleans</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
console.log(true) // True boolean
|
||||||
|
console.log(false) // false boolean
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,15 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Undefined</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
let variable
|
||||||
|
console.log(variable) // It is undefined as it is not assigned to a value
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,15 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Null</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
let variable = null
|
||||||
|
console.log(variable) // The variable has an empty value
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,26 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Checking Data Types</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
console.log(typeof -17)
|
||||||
|
console.log(typeof 0)
|
||||||
|
console.log(typeof 29)
|
||||||
|
console.log(typeof -42.36)
|
||||||
|
console.log(typeof 0.567)
|
||||||
|
console.log(typeof 12.32)
|
||||||
|
console.log(typeof "1")
|
||||||
|
console.log(typeof '2')
|
||||||
|
console.log(typeof `3`)
|
||||||
|
console.log(typeof true)
|
||||||
|
console.log(typeof false)
|
||||||
|
console.log(typeof undefined)
|
||||||
|
console.log(typeof null) // object
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,42 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Variables</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
/*
|
||||||
|
The 'let' is used for changing values, while 'const' is for those
|
||||||
|
that are not. The let is used instead of 'var' due to leak issues.
|
||||||
|
*/
|
||||||
|
// The 'camelCase' is JavaScript's variable naming convention
|
||||||
|
let firstName = 'Dean Harold'
|
||||||
|
let middleName = 'Potestades'
|
||||||
|
let lastName = 'Abad'
|
||||||
|
console.log(firstName, middleName, lastName)
|
||||||
|
|
||||||
|
const earthGravity = 9.81 // in m/s^2
|
||||||
|
const boilingPoint = 100 // of water in °C
|
||||||
|
const PI = 3.14159265359 // geometrical constant
|
||||||
|
console.log(earthGravity, boilingPoint, PI)
|
||||||
|
|
||||||
|
/*
|
||||||
|
Variables can also be declared in one line, and they are separated
|
||||||
|
by comma.
|
||||||
|
*/
|
||||||
|
let alias = 'Dragunov',
|
||||||
|
age = 879,
|
||||||
|
race = 'Dragonkin',
|
||||||
|
job = 'Adventurer',
|
||||||
|
title = 'Dragon Lord'
|
||||||
|
console.log('Name:', alias)
|
||||||
|
console.log('Age:', age)
|
||||||
|
console.log('Race:', race)
|
||||||
|
console.log('Job:', job)
|
||||||
|
console.log('Title:', title)
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,13 @@
|
|||||||
|
console.log(typeof negativeInteger)
|
||||||
|
console.log(typeof zeroInteger)
|
||||||
|
console.log(typeof positiveInteger)
|
||||||
|
console.log(typeof negativeDecimal)
|
||||||
|
console.log(typeof zeroDecimal)
|
||||||
|
console.log(typeof positiveDecimal)
|
||||||
|
console.log(typeof singleQuote)
|
||||||
|
console.log(typeof doubleQuote)
|
||||||
|
console.log(typeof backtick)
|
||||||
|
console.log(typeof trueBool)
|
||||||
|
console.log(typeof falseBool)
|
||||||
|
console.log(typeof undefinedVariable)
|
||||||
|
console.log(typeof emptyVariable)
|
@ -0,0 +1,67 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Exercises</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
// Comments can make code readable
|
||||||
|
// Welcome to 30DaysOfJavaScript
|
||||||
|
/*
|
||||||
|
Comments can make code readable,
|
||||||
|
easy to reuse and informative
|
||||||
|
*/
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Make external scripts and use the latter
|
||||||
|
to print the first one's variables
|
||||||
|
-->
|
||||||
|
<script src="variables.js"></script>
|
||||||
|
<script src="datatypes.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// Declare 4 variables without assigning values
|
||||||
|
let a, b, c, d
|
||||||
|
|
||||||
|
// Declare 4 variables with assigned values
|
||||||
|
let e = '1',
|
||||||
|
f = '2',
|
||||||
|
g = '3',
|
||||||
|
h = '4'
|
||||||
|
|
||||||
|
/*
|
||||||
|
Declare variables to store your first name,
|
||||||
|
last name, marital status, country, and age
|
||||||
|
in multiple lines.
|
||||||
|
*/
|
||||||
|
let firstName = 'Dean Harold'
|
||||||
|
let lastName = 'Abad'
|
||||||
|
let maritalStatus = 'single'
|
||||||
|
let country = 'Philippines'
|
||||||
|
let age = 19
|
||||||
|
|
||||||
|
/*
|
||||||
|
Declare variables to store your first name,
|
||||||
|
last name, marital status, country, and age
|
||||||
|
in a single line.
|
||||||
|
*/
|
||||||
|
let fn = firstName,
|
||||||
|
ln = lastName,
|
||||||
|
ms = maritalStatus,
|
||||||
|
ct = country,
|
||||||
|
ag = age
|
||||||
|
|
||||||
|
/*
|
||||||
|
Declare 2 variables myAge and yourAge and assign
|
||||||
|
them their initial values and log into the
|
||||||
|
browser console.
|
||||||
|
*/
|
||||||
|
let myAge = 19, yourAge = 21
|
||||||
|
console.log("I am ", myAge, " years old.\nYou are ", yourAge, " years old.")
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,13 @@
|
|||||||
|
let negativeInteger = -10
|
||||||
|
zeroInteger = 0,
|
||||||
|
positiveInteger = 42,
|
||||||
|
negativeDecimal = -16.84,
|
||||||
|
zeroDecimal = 0.0,
|
||||||
|
positiveDecimal = 420.69,
|
||||||
|
singleQuote = 'A string between single quotes',
|
||||||
|
doubleQuote = "A string between double quotes",
|
||||||
|
backtick = `A string between backticks`,
|
||||||
|
trueBool = true,
|
||||||
|
falseBool = false,
|
||||||
|
undefinedVariable = undefined,
|
||||||
|
emptyVariable = null
|
@ -0,0 +1,53 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Primitive</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
/*
|
||||||
|
Includes:
|
||||||
|
Numbers - integers and floats
|
||||||
|
Strings - any data under single, double, or backtick quotes
|
||||||
|
Booleans - true or false value
|
||||||
|
Undefined - a declared variable without an assigned value
|
||||||
|
Null - an empty/no assigned value
|
||||||
|
*/
|
||||||
|
// Examples of primitive data types:
|
||||||
|
let negativeInteger = -10
|
||||||
|
zeroInteger = 0,
|
||||||
|
positiveInteger = 42,
|
||||||
|
negativeDecimal = -16.84,
|
||||||
|
zeroDecimal = 0.0,
|
||||||
|
positiveDecimal = 420.69,
|
||||||
|
singleQuote = 'A string between single quotes',
|
||||||
|
doubleQuote = "A string between double quotes",
|
||||||
|
backtick = `A string between backticks`,
|
||||||
|
trueBool = true,
|
||||||
|
falseBool = false,
|
||||||
|
undefinedVariable = undefined,
|
||||||
|
emptyVariable = null
|
||||||
|
|
||||||
|
// Primitive data types are immutable (non-modifiable)
|
||||||
|
/*
|
||||||
|
Here, the first letter is accessed by getting the
|
||||||
|
first element under the string 'singleQuote', and
|
||||||
|
tries to replace the capital A with its lowercase.
|
||||||
|
*/
|
||||||
|
singleQuote[0] = 'a' // This would throw an error
|
||||||
|
|
||||||
|
// Comparing values will return a boolean value
|
||||||
|
let num1 = 10, num2 = 10
|
||||||
|
console.log(num1 == num2) // true
|
||||||
|
|
||||||
|
let js = 'JavaScript', py = 'Python'
|
||||||
|
console.log(js == py) // false
|
||||||
|
|
||||||
|
let lightOn = true, lightOff = false
|
||||||
|
console.log(lightOn == lightOff) // false
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,107 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Non-Primitive</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
/*
|
||||||
|
Includes:
|
||||||
|
Objects
|
||||||
|
Functions
|
||||||
|
Arrays
|
||||||
|
*/
|
||||||
|
// Array is a list of data values contained in square brackets
|
||||||
|
let numbers = [1, 2, 3]
|
||||||
|
numbers[0] = "This is the first element"
|
||||||
|
numbers[1] = "This is the second element"
|
||||||
|
numbers[2] = "This is the last element"
|
||||||
|
|
||||||
|
/*
|
||||||
|
Value of each index in the array are reassigned;
|
||||||
|
the values are changed from int to string data types.
|
||||||
|
*/
|
||||||
|
console.log(numbers[0])
|
||||||
|
console.log(numbers[1])
|
||||||
|
console.log(numbers[2])
|
||||||
|
|
||||||
|
/*
|
||||||
|
The example proves that an array, which is a non-primitive
|
||||||
|
data type is mutable (modifiable).
|
||||||
|
Non-primitive data types are not comparable by value.
|
||||||
|
Even if 2 non-primitive data types have the same properties
|
||||||
|
and values, they are not strictly equal.
|
||||||
|
*/
|
||||||
|
let set1 = [1, 2, 3],
|
||||||
|
set2 = [1, 2, 3]
|
||||||
|
console.log(set1 == set2) // false
|
||||||
|
|
||||||
|
let object1 = {
|
||||||
|
character: {
|
||||||
|
alias: 'Dragunov',
|
||||||
|
age: 879,
|
||||||
|
race: 'Dragonkin',
|
||||||
|
job: 'Adventurer',
|
||||||
|
title: 'Dragon Lord'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
object2 = {
|
||||||
|
character: {
|
||||||
|
alias: 'Dragunov',
|
||||||
|
age: 879,
|
||||||
|
race: 'Dragonkin',
|
||||||
|
job: 'Adventurer',
|
||||||
|
title: 'Dragon Lord'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log(object1 == object2) // false
|
||||||
|
|
||||||
|
/*
|
||||||
|
We do not compare non-primitive data types; do not compare
|
||||||
|
objects, functions, or arrays. Their values are referred to
|
||||||
|
as 'reference' types, because they are being compared by
|
||||||
|
reference instead of values.
|
||||||
|
Two objects are only strictly equal if they refer to the
|
||||||
|
same underlying object.
|
||||||
|
|
||||||
|
So instead of the following:
|
||||||
|
let numbers1 = [1, 2, 3],
|
||||||
|
numbers2 = [1, 2, 3]
|
||||||
|
console.log(numbers1 == numbers2) // false
|
||||||
|
|
||||||
|
let character1 = {
|
||||||
|
alias: 'Dragunov',
|
||||||
|
age: 879,
|
||||||
|
race: 'Dragonkin',
|
||||||
|
job: 'Adventurer',
|
||||||
|
title: 'Dragon Lord'
|
||||||
|
},
|
||||||
|
character2 = {
|
||||||
|
alias: 'Dragunov',
|
||||||
|
age: 879,
|
||||||
|
race: 'Dragonkin',
|
||||||
|
job: 'Adventurer',
|
||||||
|
title: 'Dragon Lord'
|
||||||
|
}
|
||||||
|
console.log(character1 == character2) // false
|
||||||
|
*/
|
||||||
|
// We do:
|
||||||
|
let numbers1 = [1, 2, 3],
|
||||||
|
numbers2 = numbers1
|
||||||
|
console.log(numbers1 == numbers2) // true
|
||||||
|
|
||||||
|
let character1 = {
|
||||||
|
alias: 'Dragunov',
|
||||||
|
age: 879,
|
||||||
|
race: 'Dragonkin',
|
||||||
|
job: 'Adventurer',
|
||||||
|
title: 'Dragon Lord'
|
||||||
|
},
|
||||||
|
character2 = character1
|
||||||
|
console.log(character1 == character2) // true
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,28 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Numbers: Declaring Number Data Types</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
// Examples of integers and decimals
|
||||||
|
let negativeInteger = -10
|
||||||
|
zeroInteger = 0,
|
||||||
|
positiveInteger = 42,
|
||||||
|
negativeDecimal = -16.84,
|
||||||
|
zeroDecimal = 0.0,
|
||||||
|
positiveDecimal = 420.69
|
||||||
|
|
||||||
|
// Some real-world constants
|
||||||
|
const earthGravity = 9.81 // in m/s^2
|
||||||
|
boilingPoint = 100, // of water in °C
|
||||||
|
bodyTemperature = 37 // of humans in °C
|
||||||
|
PI = 3.14159265359 // geometrical constant
|
||||||
|
|
||||||
|
console.log(earthGravity, boilingPoint, bodyTemperature, PI)
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,61 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Numbers: Math Object</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
// Some real-world constants
|
||||||
|
const earthGravity = 9.81 // in m/s^2
|
||||||
|
boilingPoint = 100, // of water in °C
|
||||||
|
bodyTemperature = 37 // of humans in °C
|
||||||
|
|
||||||
|
// The Math Object provides a lots of methods to work with numbers
|
||||||
|
const PI = Math.PI // geometrical constant
|
||||||
|
console.log(PI) // 3.141592653589793
|
||||||
|
|
||||||
|
/*
|
||||||
|
Round off to the closest number; if above 0.5, round up, else if
|
||||||
|
below 0.5, round down.
|
||||||
|
*/
|
||||||
|
console.log(Math.round(PI)) // round off, 3
|
||||||
|
console.log(Math.round(earthGravity)) // round off, 10
|
||||||
|
console.log(Math.floor(PI)) // round down, 3
|
||||||
|
console.log(Math.ceil(PI)) // round up, 4
|
||||||
|
console.log(Math.min(-0.4, 9, -20.45)) // lowest, -20.45
|
||||||
|
console.log(Math.max(-0.4, 9, -20.45)) // highest, 9
|
||||||
|
|
||||||
|
// Create random float from 0 to 0.999999
|
||||||
|
const random_float = Math.random() // random float
|
||||||
|
console.log(random_float)
|
||||||
|
|
||||||
|
// Create random integer from 0 to 10
|
||||||
|
const random_integer = Math.floor(Math.random() * 11) // random integer
|
||||||
|
console.log(random_integer)
|
||||||
|
|
||||||
|
// Absolute value
|
||||||
|
console.log(Math.abs(-99)) // 99
|
||||||
|
|
||||||
|
// Square root
|
||||||
|
console.log(Math.sqrt(25)) // 5
|
||||||
|
console.log(Math.sqrt(2)) // 1.4142135623730951
|
||||||
|
|
||||||
|
// Power
|
||||||
|
console.log(Math.pow(2, 5)) // 32
|
||||||
|
console.log(Math.E) // 2.718281828459045
|
||||||
|
|
||||||
|
// Logarithm - returns the natural logarithm with base E of x, Math.log(x)
|
||||||
|
console.log(Math.log(2)) // 0.6931471805599453
|
||||||
|
console.log(Math.log(10)) // 2.302585092994046
|
||||||
|
|
||||||
|
// Trigonometry
|
||||||
|
console.log(Math.sin(0)) // 0
|
||||||
|
console.log(Math.sin(90)) // 0.8939966636005579
|
||||||
|
console.log(Math.cos(0)) // 1
|
||||||
|
console.log(Math.cos(90)) // -0.4480736161291702
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,23 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Numbers: Random Number Generator</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
// Create random float from 0 to 0.999999
|
||||||
|
let random_float = Math.random() // random float
|
||||||
|
console.log(random_float)
|
||||||
|
|
||||||
|
// Create random number from 0 to 10.99
|
||||||
|
let random_number = random_float * 11 // random number
|
||||||
|
|
||||||
|
// Create random integer from 0 to 10
|
||||||
|
let random_integer = Math.floor(random_number) // random integer
|
||||||
|
console.log(random_integer)
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,26 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Strings: Types</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
// Various strings under single, double, and backtick quotes
|
||||||
|
let space = ' ',
|
||||||
|
// Examples:
|
||||||
|
single = 'string under single quote',
|
||||||
|
double = "string under double quote",
|
||||||
|
backtick = `string under backtick quote`,
|
||||||
|
singleInDouble = "string with single quote under a 'double quote'",
|
||||||
|
singleInBacktick = `string with single quote under a 'backtick quote'`
|
||||||
|
console.log(single)
|
||||||
|
console.log(double)
|
||||||
|
console.log(backtick)
|
||||||
|
console.log(singleInDouble)
|
||||||
|
console.log(singleInBacktick)
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,113 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Strings: Concatenation</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
/*
|
||||||
|
Concatenation - connecting 2 or more strings together
|
||||||
|
There are multiple ways to concatenate strings
|
||||||
|
*/
|
||||||
|
// Using addition operators:
|
||||||
|
let space = ' ',
|
||||||
|
// Examples:
|
||||||
|
firstName = 'Dean Harold',
|
||||||
|
middleName = 'Potestades',
|
||||||
|
lastName = 'Abad',
|
||||||
|
maritalStatus = 'single',
|
||||||
|
country = 'Philippines',
|
||||||
|
age = 19
|
||||||
|
|
||||||
|
fullName = firstName + space + middleName + space + lastName,
|
||||||
|
fullInfo = 'Hi, I am ' + fullName + '. Currently I am ' + age + ' years old and ' + maritalStatus + '. I live in the ' + country + '.'
|
||||||
|
console.log(fullInfo)
|
||||||
|
|
||||||
|
/*
|
||||||
|
Long Literal Strings - backslash character (\) is
|
||||||
|
used at the end of each line to indicate that the
|
||||||
|
string will continue on the next line as the text
|
||||||
|
is too big to be written in a single line:
|
||||||
|
*/
|
||||||
|
const paragraph = "Hi, I am Dean Harold Potestades Abad. Currently I am 19 years old and single. I live in the Philippines. \
|
||||||
|
I like drawing and designing characters, animating things, and coding simple programs. \
|
||||||
|
I spend most of my time on computer due to being a Computer Science student. \
|
||||||
|
I have no school projects at the moment."
|
||||||
|
console.log(paragraph)
|
||||||
|
|
||||||
|
/*
|
||||||
|
Escape Sequences in Strings - the backslash (\)
|
||||||
|
character followed by other characters is an
|
||||||
|
escape sequence.
|
||||||
|
|
||||||
|
The most commonly used escape characters:
|
||||||
|
\n - new line
|
||||||
|
\t - Tab or 8 spaces
|
||||||
|
\\ - backslash
|
||||||
|
\' - single quote
|
||||||
|
\" - double quote
|
||||||
|
*/
|
||||||
|
// Line break or new line
|
||||||
|
console.log('This is such a great learning material to learn JavaScript.\nI would recommend this resource in various platforms.')
|
||||||
|
|
||||||
|
// Tab
|
||||||
|
console.log('Name of Resource\tType of Resource\tLanguage')
|
||||||
|
console.log('30DaysOfJavaScript\tLearning Resource\tJavaScript')
|
||||||
|
|
||||||
|
// To be able to write backslash in a string
|
||||||
|
console.log('The \\ character is called backslash symbol.')
|
||||||
|
|
||||||
|
// To be able to write single quotes in a string
|
||||||
|
console.log("The \'single quotes\' in string are possible with the use of \\ character.")
|
||||||
|
|
||||||
|
// To be able to write double quotes in a string
|
||||||
|
console.log('The \"double quotes\" in string are possible with the use of \\ character.')
|
||||||
|
|
||||||
|
// Mixture of \n, \', and \"'
|
||||||
|
console.log('I don\'t prefer using the \'shortcutted\' word \'don\'t\' in my examples,\nbut the 2 words \"do\" and \"not.\"')
|
||||||
|
|
||||||
|
/*
|
||||||
|
Template Literals - 2 backticks are used in this
|
||||||
|
method. Data can be 'injected' as expressions in
|
||||||
|
this template string.
|
||||||
|
To inject data, we enclose the expression with a
|
||||||
|
curly bracket ({}), preceded by a $ sign.
|
||||||
|
|
||||||
|
Syntax:
|
||||||
|
`String literal text ${expression}`
|
||||||
|
*/
|
||||||
|
let a = 1, b = 2
|
||||||
|
// The data is injected dynamically
|
||||||
|
console.log(`The value of a is ${a} and b is ${b}.\nTogether their sum is ${a + b}.`)
|
||||||
|
|
||||||
|
/*
|
||||||
|
Another example from the previously used variables
|
||||||
|
earlier i.e. the following:
|
||||||
|
|
||||||
|
let space = ' ',
|
||||||
|
firstName = 'Dean Harold',
|
||||||
|
middleName = 'Potestades',
|
||||||
|
lastName = 'Abad',
|
||||||
|
maritalStatus = 'single',
|
||||||
|
country = 'Philippines',
|
||||||
|
age = 19
|
||||||
|
|
||||||
|
fullName = firstName + space + middleName + space + lastName,
|
||||||
|
fullInfo = `Hi, I am ${fullName}. Currently I am ${age} years old and ${maritalStatus}. I live in the ${country}.`
|
||||||
|
*/
|
||||||
|
fullInfo = `Hi, I am ${fullName}. Currently I am ${age} years old and ${maritalStatus}. I live in the ${country}.`
|
||||||
|
console.log(fullInfo)
|
||||||
|
|
||||||
|
/*
|
||||||
|
Using a string template or string interpolation
|
||||||
|
method, we can add expressions which could be a
|
||||||
|
value, or use make comparisons, arithmetic ope-
|
||||||
|
rations, and ternary operation.
|
||||||
|
*/
|
||||||
|
console.log(`${a} is greater than ${b}: ${a > b}`) // 1 is greater than 2: false
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,18 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Strings: Methods - Length</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
// length - returns the number of characters in a string
|
||||||
|
let js = 'JavaScript'
|
||||||
|
let py = 'Python'
|
||||||
|
console.log(js.length) // 10
|
||||||
|
console.log(py.length) // 6
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,19 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Strings: Methods - Accessing Characters in String</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
// string[index] - access a character in a string by its index
|
||||||
|
let js = 'JavaScript',
|
||||||
|
firstLetter = js[0],
|
||||||
|
finalPosition = js.length - 1,
|
||||||
|
lastLetter = js[finalPosition] // Decrease by 1 its length as index starts with 0 when counting
|
||||||
|
console.log(`Name: ${js}\nFirst letter: ${firstLetter}\nLast letter: ${lastLetter}`)
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,16 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Strings: Methods - toUpperCase()</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
// toUpperCase() - changes the string to uppercase letters
|
||||||
|
let js = 'JavaScript'
|
||||||
|
console.log(js.toUpperCase()) // JAVASCRIPT
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,16 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Strings: Methods - toLowerCase()</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
// toLowerCase() - changes the string to lowercase letters
|
||||||
|
let js = 'JavaScript'
|
||||||
|
console.log(js.toLowerCase()) // javascript
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,28 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Strings: Methods - substr() and substring()</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
/*
|
||||||
|
substr() - has 2 arguments, the starting index and
|
||||||
|
the number of characters to slice
|
||||||
|
*/
|
||||||
|
let js = 'JavaScript'
|
||||||
|
console.log(js.substr(0, 4)) // Java
|
||||||
|
console.log(js.substr(4, 6)) // Script
|
||||||
|
|
||||||
|
/*
|
||||||
|
substring() - has 2 arguments, the starting index and
|
||||||
|
the stopping index, and it does not include the stop-
|
||||||
|
ping index's character
|
||||||
|
*/
|
||||||
|
console.log(js.substring(0, 4)) // Java
|
||||||
|
console.log(js.substring(4, 10)) // Script
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,34 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Strings: Methods - split()</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
/*
|
||||||
|
split() - splits a string at a specified place, and it changes
|
||||||
|
the string into an array of parts from the splitting based from
|
||||||
|
the passed argument
|
||||||
|
*/
|
||||||
|
let title = '30 Days of JavaScript'
|
||||||
|
// Simply changes into an array
|
||||||
|
console.log(title.split()) // ["30 Days of JavaScript"]
|
||||||
|
|
||||||
|
// Changes into array of words as space or ' ' is the point of split
|
||||||
|
console.log(title.split(' ')) // ["30", "Days", "of", "JavaScript"]
|
||||||
|
|
||||||
|
let name = 'Dean'
|
||||||
|
// Changes into array of letters due to each next '' point
|
||||||
|
console.log(name.split('')) // ["D", "e", "a", "n"]
|
||||||
|
|
||||||
|
let drinks = 'Milo, Coca-Cola, and Delight'
|
||||||
|
// Removes the commas only, therefore retaining the spaces
|
||||||
|
console.log(drinks.split(',')) // ["Milo", " Coca-Cola", " and Delight"]
|
||||||
|
// Removes both commas and spaces, therefore leaving only the nouns
|
||||||
|
console.log(drinks.split(', ')) // ["Milo", "Coca-Cola", "and Delight"]
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,21 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Strings: Methods - trim()</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
/*
|
||||||
|
trim() - removes trailing space in the beginning or the end
|
||||||
|
of a string
|
||||||
|
*/
|
||||||
|
let js = ' JavaScript ',
|
||||||
|
title = ' 30 Days of JavaScript '
|
||||||
|
console.log(js.trim(' ')) // JavaScript
|
||||||
|
console.log(title.trim()) // 30 Days of JavaScript
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,22 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Strings: Methods - includes()</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
/*
|
||||||
|
includes() - takes a substring argument and checks if it is
|
||||||
|
in a string, and it returns a boolean value
|
||||||
|
*/
|
||||||
|
let title = '30 Days of JavaScript'
|
||||||
|
console.log(title.includes('30')) // true
|
||||||
|
console.log(title.includes('69')) // false
|
||||||
|
console.log(title.includes('Days')) // true
|
||||||
|
console.log(title.includes('days')) // false
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,18 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Strings: Methods - replace()</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
/*
|
||||||
|
replace() - takes 2 parameters the old substring and new one
|
||||||
|
*/
|
||||||
|
let title = '30 Days of Python'
|
||||||
|
console.log(title.replace('Python', 'JavaScript')) // 30 Days of JavaScript
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,20 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Strings: Methods - charAt()</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
/*
|
||||||
|
charAt() - takes index in a string and returns its value
|
||||||
|
*/
|
||||||
|
let title = '30 Days of JavaScript',
|
||||||
|
count = title.length
|
||||||
|
console.log(title.charAt(0)) // 3
|
||||||
|
console.log(title.charAt(count - 1)) // n
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,21 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Strings: Methods - charCodeAt()</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
/*
|
||||||
|
charCodeAt() - takes index in a string and returns its char
|
||||||
|
code or ASCII value
|
||||||
|
*/
|
||||||
|
let title = '30 Days of JavaScript',
|
||||||
|
count = title.length
|
||||||
|
console.log(title.charCodeAt(0)) // 51
|
||||||
|
console.log(title.charCodeAt(count - 1)) // 110
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,22 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>30DaysOfJavaScript: Data Types - Strings: Methods - indexOf()</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
/*
|
||||||
|
indexOf() - takes a substring and if it exists, it will
|
||||||
|
return the first position of the substring, and if it
|
||||||
|
does not exist it will return -1
|
||||||
|
*/
|
||||||
|
let title = '30 Days of JavaScript',
|
||||||
|
count = title.length
|
||||||
|
console.log(title.indexOf('Days')) // 3
|
||||||
|
console.log(title.indexOf('JavaScript')) // 11
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in new issue