Javascript functions: Difference between revisions
From wikinotes
Line 54: | Line 54: | ||
== Partials == | == Partials == | ||
<blockquote> | <blockquote> | ||
<syntaxhighlight lang="javascript"> | |||
</syntaxhighlight> | |||
</blockquote><!-- Partials --> | </blockquote><!-- Partials --> | ||
</blockquote><!-- Lambda Functions --> | </blockquote><!-- Lambda Functions --> |
Revision as of 20:27, 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()