JavaScript: Functions, Function Expressions, Objects, Methods, and this

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) {
c…


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


Print Share Comment Cite Upload Translate Updates
APA

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/

MLA
" » JavaScript: Functions, Function Expressions, Objects, Methods, and this." Megan Paffrath | Sciencx - Wednesday August 7, 2024, https://www.scien.cx/2024/08/07/javascript-functions-function-expressions-objects-methods-and-this/
HARVARD
Megan Paffrath | Sciencx Wednesday August 7, 2024 » JavaScript: Functions, Function Expressions, Objects, Methods, and this., viewed ,<https://www.scien.cx/2024/08/07/javascript-functions-function-expressions-objects-methods-and-this/>
VANCOUVER
Megan Paffrath | Sciencx - » JavaScript: Functions, Function Expressions, Objects, Methods, and this. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/08/07/javascript-functions-function-expressions-objects-methods-and-this/
CHICAGO
" » JavaScript: Functions, Function Expressions, Objects, Methods, and this." Megan Paffrath | Sciencx - Accessed . https://www.scien.cx/2024/08/07/javascript-functions-function-expressions-objects-methods-and-this/
IEEE
" » JavaScript: Functions, Function Expressions, Objects, Methods, and this." Megan Paffrath | Sciencx [Online]. Available: https://www.scien.cx/2024/08/07/javascript-functions-function-expressions-objects-methods-and-this/. [Accessed: ]
rf:citation
» JavaScript: Functions, Function Expressions, Objects, Methods, and this | Megan Paffrath | Sciencx | 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.

You must be logged in to translate posts. Please log in or register.