This content originally appeared on DEV Community and was authored by Megan Paffrath
Simple Basic Function
Here is a simple function that takes no arguments:
function hello() {
console.log('Hello there stranger, how are you?');
}
hello();
Here is a function that takes one argument:
function greet(person) {
console.log(`Hi there ${person}.`);
}
greet('Megan');
We can have more than one argument as follows:
function greetFullName(fName, lName) {
console.log(`Hi there ${fName} ${lName}.`);
}
greetFullName('Megan', 'Paffrath');
Function Expressions
Function expressions are just another way of writing functions. They still work the same way as above:
const square = function(x) {
return x * x;
};
square(2); // 4
Higher Order Functions
These functions operate with/on other functions, perhaps they:
- accept other functions as arguments
- return a function
An example of a function taking another function as an argument is:
function callTwice(func) {
func();
func();
}
let laugh = function () {
console.log('haha');
};
callTwice(laugh);
// haha
// haha
function rollDie() {
const roll = Math.floor(Math.random() * 6) + 1;
console.log(roll);
}
callTwice(rollDie);
// random number
// random number
An example of a function returning a function is:
function makeMysteryFunc() {
const rand = Math.random();
if (rand > 0.5) {
return function () {
console.log('You win');
};
} else {
return function () {
alert('You have been infected by a computer virus');
while (true) {
alert('Stop trying to close this window.');
}
};
}
}
let returnedFunc = makeMysteryFunc();
returnedFunc();
Another (more useful example) is:
function makeBetweenFunc(min, max) {
return function (num) {
return num >= min && num <= max;
};
}
const isBetween = makeBetweenFunc(100, 200);
// isBetween(130); // true
// isBetween(34); // false
Methods
We can add functions as properties on objects (these are called methods).
Ex:
const myMath = {
PI: 3.14,
square: function (num) {
return num * num;
},
// note the 2 diff ways of defining methods
cube(num) {
return num ** 3;
},
};
This
'this' is mostly used WITHIN methods of objects. It is used to reference properties of the object.
const person = {
first: 'Abby',
last: 'Smith',
fullName() {
return `${this.first} ${this.last}`;
},
};
person.fullName(); // "Abby Smith"
person.lastName = 'Elm';
person.fullName(); // "Abby Elm"
Note, outside of objects, 'this' refers to the top-level window object. To see what this contains, enter this
in the console. General functions are stored in the this
object too:
// defined on its own (outside of an object)
function howdy() {
console.log('HOWDY');
}
this.howdy(); // HOWDY
This content originally appeared on DEV Community and was authored by Megan Paffrath
Megan Paffrath | Sciencx (2024-08-07T01:39:47+00:00) JavaScript: Functions, Function Expressions, Objects, Methods, and this. Retrieved from https://www.scien.cx/2024/08/07/javascript-functions-function-expressions-objects-methods-and-this/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.