Javascript functions: Difference between revisions
From wikinotes
Line 47: | Line 47: | ||
sum(1)(2); // 3 | sum(1)(2); // 3 | ||
const plus_one = | const plus_one = sum(1); | ||
plus_one(2); // 3 | plus_one(2); // 3 | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 20:22, 30 August 2021
Functions
function say_hello() { console.log("hello") return true } say_hello()See Also javascript arguments
Return Values
javascript functions cannot return more than one variable.
Anonymous Functions
Functions do not need to be named.
myButton.onclick = function() { alert('hello') }
Lambda Functions
Basics
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
Also referred to as arrow function expressions.
(a, b) => a + b + 100 // lambda expression w/ args () => console.log('hi') // lambda expression w/o argsCurrying
const sum = a => b => { a + b }; sum(1)(2); // 3 const plus_one = sum(1); plus_one(2); // 3Partials
Closures
Javascript supports functions defined inside functions.
function foo() { function bar() { console.log('baz') } bar() }
Binding this
bind()
lets you change the value ofthis
within a method.B = { x: 2 } class A { x = 1 constructor() { this.printb = this.printx.bind(B) } // this.printb uses value of 'x' from 'B' printx() { console.log(this.x); } // this.printx uses value of 'x' from 'A' } const a = new A().printx() a.printx() a.printb()