[ Web Proxy ]
URL:
Viewing: https://zh.javascript.info/function-basics [Back]  [Original]

:
Light themeDark theme
DanskEnglishEspaolFranaisIndonesiaItalianoTrkeOzbek

alert(message)prompt(message, default) confirm(question)

function showMessage() {
  alert( 'Hello everyone!' );
}

function

function name(parameter1, parameter2, ... parameterN) {
  ...body...
}

showMessage()

function showMessage() {
  alert( 'Hello everyone!' );
}

showMessage();
showMessage();

showMessage()

function showMessage() {
  let message = "Hello, I'm JavaScript!"; // 

  alert( message );
}

showMessage(); // Hello, I'm JavaScript!

alert( message ); // <-- 

let userName = 'John';

function showMessage() {
  let message = 'Hello, ' + userName;
  alert(message);
}

showMessage(); // Hello, John

let userName = 'John';

function showMessage() {
  userName = "Bob"; // (1) 

  let message = 'Hello, ' + userName;
  alert(message);
}

alert( userName ); // John 

showMessage();

alert( userName ); // Bob

userName

let userName = 'John';

function showMessage() {
  let userName = "Bob"; // 

  let message = 'Hello, ' + userName; // Bob
  alert(message);
}

//  userName
showMessage();

alert( userName ); // John

userName

from text

function showMessage(from, text) { // from  text
  alert(from + ': ' + text);
}

showMessage('Ann', 'Hello!'); // Ann: Hello! (*)
showMessage('Ann', "What's up?"); // Ann: What's up? (**)

(*) (**) from text

from from

function showMessage(from, text) {

 from = '*' + from + '*'; //  "from" 

  alert( from + ': ' + text );
}

let from = "Ann";

showMessage(from, "Hello"); // *Ann*: Hello

// "from" 
alert( from ); // Ann

parameter argument

  • parameter
  • argument

parametersarguments

showMessage parametersarguments from "Hello"

argument undefined

showMessage(from, text) argument

showMessage("Ann");

"*Ann*: undefined" text undefined

=

function showMessage(from, text = "no text given") {
  alert( from + ": " + text );
}

showMessage("Ann"); // Ann: no text given

text "no text given"

"no text given"

function showMessage(from, text = anotherFunction()) {
  // anotherFunction()  text 
  //  text 
}

JavaScript

text anotherFunction()

text anotherFunction()

JavaScript

JavaScript

undefined

function showMessage(from, text) {
  if (text === undefined) {
    text = 'no text given';
  }

  alert( from + ": " + text );
}

||

function showMessage(from, text) {
  //  text 
  //  text == ""  text 
  text = text || 'no text given';
  ...
}

undefined

function showMessage(text) {
  // ...

  if (text === undefined) { // 
    text = 'empty message';
  }

  alert(text);
}

showMessage(); // empty message

||

function showMessage(text) {
  //  text  undefined  'empty'
  text = text || 'empty';
  ...
}

JavaScript ?? 0

function showCount(count) {
  //  count  undefined  null "unknown"
  alert(count ?? "unknown");
}

showCount(0); // 0
showCount(null); // unknown
showCount(); // unknown

function sum(a, b) {
  return a + b;
}

let result = sum(1, 2);
alert( result ); // 3

return result

return

function checkAge(age) {
  if (age >= 18) {
    return true;
  } else {
    return confirm('Got a permission from the parents?');
  }
}

let age = prompt('How old are you?', 18);

if ( checkAge(age) ) {
  alert( 'Access granted' );
} else {
  alert( 'Access denied' );
}

return

function showMovie(age) {
  if ( !checkAge(age) ) {
    return;
  }

  alert( "Showing you the movie" ); // (*)
  // ...
}

checkAge(age) false showMovie alert

return return undefined

undefined

function doNothing() { /*  */ }

alert( doNothing() === undefined ); // true

return return undefined

function doNothing() {
  return;
}

alert( doNothing() === undefined ); // true
return

return

return
 (some + long + expression + or + whatever * f(a) + f(b))

JavaScript return

return;
 (some + long + expression + or + whatever * f(a) + f(b))

return

return (
  some + long + expression
  + or +
  whatever * f(a) + f(b)
  )

action

"show"

XX

  • "get"
  • "calc"
  • "create"
  • "check" boolean

showMessage(..)     // 
getAge(..)          //  agegets it somehow
calcSum(..)         // 
createForm(..)      // 
checkPermission(..) //  true/false

  • getAge alert age
  • createForm
  • checkPermission access granted/denied

==

showPrimes(n) n

function showPrimes(n) {
  nextPrime: for (let i = 2; i < n; i++) {

    for (let j = 2; j < i; j++) {
      if (i % j == 0) continue nextPrime;
    }

    alert( i ); // 
  }
}

isPrime(n)

function showPrimes(n) {

  for (let i = 2; i < n; i++) {
    if (!isPrime(i)) continue;

    alert(i);  // 
  }
}

function isPrime(n) {
  for (let i = 2; i < n; i++) {
    if ( n % i == 0) return false;
  }
  return true;
}

isPrime

function name(parameters, delimited, by, comma) {
  /* code */
}
  • undefined

  • createshowgetcheck

: 4

age 18 true

function checkAge(age) {
  if (age > 18) {
    return true;
  } else {
    // ...
    return confirm('');
  }
}

else

function checkAge(age) {
  if (age > 18) {
    return true;
  }
  // ...
  return confirm('');
}

return confirm('') if

: 4

age 18 true

function checkAge(age) {
  if (age > 18) {
    return true;
  } else {
    return confirm('Do you have your parents permission to access this page?');
  }
}

if

checkAge

  1. ?
  2. ||

'?'

function checkAge(age) {
  return (age > 18) ? true : confirm('Did parents allow you?');
}

||

function checkAge(age) {
  return (age > 18) || confirm('Did parents allow you?');
}

age > 18

: 1

a b min(a,b)

min(2, 5) == 2
min(3, -1) == -1
min(1, 1) == 1

if

function min(a, b) {
  if (a < b) {
    return a;
  } else {
    return b;
  }
}

'?'

function min(a, b) {
  return a < b ? a : b;
}

P.S. a == b

: 4

pow(x,n) x n x n

pow(3, 2) = 3 * 3 = 9
pow(3, 3) = 3 * 3 * 3 = 27
pow(1, 100) = 1 * 1 * ...*1 = 1

web x n pow(x,n)

demo

P.S. n 1

function pow(x, n) {
  let result = x;

  for (let i = 1; i < n; i++) {
    result *= x;
  }

  return result;
}

let x = prompt("x?", '');
let n = prompt("n?", '');

if (n < 1) {
  alert(`Power ${n} is not supported, use a positive integer`);
} else {
  alert( pow(x, n) );
}


Web Proxy Viewer  |  New URL  |  Original Page