Bagaimana Anda menulis di dalam fungsi di html?

Ini adalah metode yang paling banyak digunakan dan disukai dari ketiganya. Dalam metode ini, kami mendefinisikan skrip dalam file terpisah dan menautkannya menggunakan atribut src dari tag skrip di bagian kepala dokumen HTML. Jenis harus disetel ke teks\javascript. File javascript eksternal akan memiliki a. ekstensi js

Fungsi adalah salah satu blok bangunan mendasar dalam JavaScript. Fungsi dalam JavaScript mirip dengan prosedur—seperangkat pernyataan yang melakukan tugas atau menghitung nilai, tetapi agar prosedur memenuhi syarat sebagai fungsi, prosedur harus mengambil beberapa input dan mengembalikan output di mana ada beberapa hubungan yang jelas antara . Untuk menggunakan suatu fungsi, Anda harus mendefinisikannya di suatu tempat dalam lingkup yang ingin Anda panggil

Lihat juga bab referensi lengkap tentang fungsi JavaScript untuk mengetahui detailnya

Definisi fungsi (juga disebut deklarasi fungsi, atau pernyataan fungsi) terdiri dari kata kunci

function myFunc(theArr) {
  theArr[0] = 30;
}

const arr = [45];

console.log(arr[0]); // 45
myFunc(arr);
console.log(arr[0]); // 30
9, diikuti oleh

  • Nama fungsi
  • Daftar parameter fungsi, diapit tanda kurung dan dipisahkan dengan koma
  • Pernyataan JavaScript yang mendefinisikan fungsi, terlampir dalam kurung kurawal,
    const square = function (number) {
      return number * number;
    }
    const x = square(4); // x gets the value 16
    
    0

Misalnya, kode berikut mendefinisikan fungsi sederhana bernama

const square = function (number) {
  return number * number;
}
const x = square(4); // x gets the value 16
1

function square(number) {
  return number * number;
}

Fungsi

const square = function (number) {
  return number * number;
}
const x = square(4); // x gets the value 16
_1 mengambil satu parameter, disebut
const square = function (number) {
  return number * number;
}
const x = square(4); // x gets the value 16
3. Fungsi terdiri dari satu pernyataan yang mengatakan untuk mengembalikan parameter fungsi (yaitu,
const square = function (number) {
  return number * number;
}
const x = square(4); // x gets the value 16
3) dikalikan dengan dirinya sendiri. Pernyataan
const square = function (number) {
  return number * number;
}
const x = square(4); // x gets the value 16
_5 menentukan nilai yang dikembalikan oleh fungsi

return number * number;
_

Parameter pada dasarnya diteruskan ke fungsi dengan nilai — jadi jika kode di dalam badan fungsi memberikan nilai yang benar-benar baru ke parameter yang diteruskan ke fungsi, perubahan tersebut tidak tercermin secara global atau dalam kode yang memanggil fungsi itu

Saat Anda melewatkan objek sebagai parameter, jika fungsi mengubah properti objek, perubahan itu terlihat di luar fungsi, seperti yang ditunjukkan pada contoh berikut

function myFunc(theObject) {
  theObject.make = 'Toyota';
}

const mycar = {
  make: 'Honda',
  model: 'Accord',
  year: 1998,
};

// x gets the value "Honda"
const x = mycar.make;

// the make property is changed by the function
myFunc(mycar);
// y gets the value "Toyota"
const y = mycar.make;
_

Saat Anda melewatkan larik sebagai parameter, jika fungsi mengubah salah satu nilai larik, perubahan itu terlihat di luar fungsi, seperti yang diperlihatkan dalam contoh berikut

function myFunc(theArr) {
  theArr[0] = 30;
}

const arr = [45];

console.log(arr[0]); // 45
myFunc(arr);
console.log(arr[0]); // 30

Sementara deklarasi fungsi di atas secara sintaksis adalah pernyataan, fungsi juga dapat dibuat dengan ekspresi fungsi

Fungsi seperti itu bisa anonim; . Misalnya, fungsi

const square = function (number) {
  return number * number;
}
const x = square(4); // x gets the value 16
_1 dapat didefinisikan sebagai

const square = function (number) {
  return number * number;
}
const x = square(4); // x gets the value 16
_

Namun, nama dapat diberikan dengan ekspresi fungsi. Memberikan nama memungkinkan fungsi merujuk ke dirinya sendiri, dan juga memudahkan untuk mengidentifikasi fungsi dalam jejak tumpukan debugger

const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))

Ekspresi fungsi berguna saat meneruskan fungsi sebagai argumen ke fungsi lain. Contoh berikut menunjukkan fungsi

const square = function (number) {
  return number * number;
}
const x = square(4); // x gets the value 16
7 yang harus menerima fungsi sebagai argumen pertama dan array sebagai argumen kedua

function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

Dalam kode berikut, fungsi menerima fungsi yang didefinisikan oleh ekspresi fungsi dan mengeksekusinya untuk setiap elemen array yang diterima sebagai argumen kedua

function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);

Pengembalian fungsi.

const square = function (number) {
  return number * number;
}
const x = square(4); // x gets the value 16
_8

Dalam JavaScript, suatu fungsi dapat didefinisikan berdasarkan suatu kondisi. Misalnya, definisi fungsi berikut mendefinisikan

const square = function (number) {
  return number * number;
}
const x = square(4); // x gets the value 16
9 hanya jika
const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))
0 sama dengan
const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))
1

let myFunc;
if (num === 0) {
  myFunc = function (theObject) {
    theObject.make = 'Toyota';
  }
}

Selain mendefinisikan fungsi seperti yang dijelaskan di sini, Anda juga dapat menggunakan konstruktor

const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))
2 untuk membuat fungsi dari string saat runtime, seperti
const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))
3

Metode adalah fungsi yang merupakan properti dari suatu objek. Baca selengkapnya tentang objek dan metode dalam Bekerja dengan objek

Mendefinisikan fungsi tidak menjalankannya. Mendefinisikannya menamai fungsi dan menentukan apa yang harus dilakukan saat fungsi dipanggil

Memanggil fungsi sebenarnya melakukan tindakan yang ditentukan dengan parameter yang ditunjukkan. Misalnya, jika Anda mendefinisikan fungsi

const square = function (number) {
  return number * number;
}
const x = square(4); // x gets the value 16
_1, Anda dapat memanggilnya sebagai berikut

square(5);

Pernyataan sebelumnya memanggil fungsi dengan argumen

const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))
5. Fungsi mengeksekusi pernyataannya dan mengembalikan nilai
const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))
6

Fungsi harus berada dalam ruang lingkup ketika dipanggil, tetapi deklarasi fungsi dapat (muncul di bawah panggilan dalam kode). Ruang lingkup deklarasi fungsi adalah fungsi yang dideklarasikan (atau seluruh program, jika dideklarasikan di tingkat atas)

Argumen suatu fungsi tidak terbatas pada string dan angka. Anda dapat meneruskan seluruh objek ke suatu fungsi. Fungsi

const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))
_7 (didefinisikan dalam ) adalah contoh fungsi yang menggunakan objek sebagai argumen

Suatu fungsi dapat memanggil dirinya sendiri. Sebagai contoh, berikut adalah fungsi yang menghitung faktorial secara rekursif

return number * number;
_0

Anda kemudian dapat menghitung faktorial dari

const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))
8 hingga
const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))
5 sebagai berikut

return number * number;
_1

Ada cara lain untuk memanggil fungsi. Sering ada kasus di mana suatu fungsi perlu dipanggil secara dinamis, atau jumlah argumen untuk suatu fungsi berbeda-beda, atau di mana konteks pemanggilan fungsi perlu disetel ke objek tertentu yang ditentukan saat runtime

Ternyata fungsi itu sendiri adalah objek — dan pada gilirannya, objek-objek ini memiliki metode. (Lihat objek

const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))
_2. ) Metode
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}
1 dan
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}
2 dapat digunakan untuk mencapai tujuan ini

Perhatikan contoh di bawah ini

return number * number;
_2

Kode ini berjalan tanpa kesalahan, meskipun fungsi

function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}
3 dipanggil sebelum dideklarasikan. Ini karena juru bahasa JavaScript mengerek seluruh deklarasi fungsi ke atas cakupan saat ini, sehingga kode di atas sama dengan

return number * number;
_3

Pengangkatan fungsi hanya berfungsi dengan deklarasi fungsi — bukan dengan ekspresi fungsi. Kode di bawah ini tidak akan berfungsi

return number * number;
_4

Variabel yang didefinisikan di dalam fungsi tidak dapat diakses dari manapun di luar fungsi, karena variabel hanya didefinisikan dalam ruang lingkup fungsi. Namun, suatu fungsi dapat mengakses semua variabel dan fungsi yang didefinisikan di dalam lingkup di mana ia didefinisikan

Dengan kata lain, sebuah fungsi yang didefinisikan dalam lingkup global dapat mengakses semua variabel yang didefinisikan dalam lingkup global. Fungsi yang didefinisikan di dalam fungsi lain juga dapat mengakses semua variabel yang didefinisikan dalam fungsi induknya, dan variabel lain yang dapat diakses oleh fungsi induk

return number * number;
_5

Suatu fungsi dapat merujuk dan memanggil dirinya sendiri. Ada tiga cara bagi suatu fungsi untuk menyebut dirinya sendiri

  1. Nama fungsi
  2. function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    4
  3. Variabel dalam ruang lingkup yang mengacu pada fungsi

Sebagai contoh, perhatikan definisi fungsi berikut

return number * number;
_6

Di dalam badan fungsi, berikut ini semuanya setara

  1. function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    5
  2. function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    6
  3. function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    7

Suatu fungsi yang memanggil dirinya sendiri disebut fungsi rekursif. Dalam beberapa hal, rekursi analog dengan loop. Keduanya mengeksekusi kode yang sama beberapa kali, dan keduanya memerlukan kondisi (untuk menghindari loop tak terbatas, atau lebih tepatnya, rekursi tak terbatas dalam kasus ini)

Sebagai contoh, perhatikan loop berikut

return number * number;
_7

Itu dapat diubah menjadi deklarasi fungsi rekursif, diikuti dengan panggilan ke fungsi itu

return number * number;
_8

Namun, beberapa algoritme tidak dapat berupa loop iteratif sederhana. Misalnya, mendapatkan semua simpul dari struktur pohon (seperti DOM) lebih mudah melalui rekursi

return number * number;
_9

Dibandingkan dengan fungsi

function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}
_8, setiap panggilan rekursif itu sendiri membuat banyak panggilan rekursif di sini

Dimungkinkan untuk mengonversi algoritme rekursif apa pun menjadi algoritme non-rekursif, tetapi logikanya seringkali jauh lebih kompleks, dan untuk melakukannya memerlukan penggunaan tumpukan.

Faktanya, rekursi itu sendiri menggunakan tumpukan. tumpukan fungsi. Perilaku seperti tumpukan dapat dilihat pada contoh berikut

function myFunc(theObject) {
  theObject.make = 'Toyota';
}

const mycar = {
  make: 'Honda',
  model: 'Accord',
  year: 1998,
};

// x gets the value "Honda"
const x = mycar.make;

// the make property is changed by the function
myFunc(mycar);
// y gets the value "Toyota"
const y = mycar.make;
_0

Anda dapat membuat sarang fungsi di dalam fungsi lain. Fungsi bersarang (dalam) bersifat pribadi untuk fungsi yang memuatnya (luar).

Itu juga membentuk penutupan. Penutupan adalah ekspresi (paling umum, fungsi) yang dapat memiliki variabel bebas bersama dengan lingkungan yang mengikat variabel tersebut (yang "menutup" ekspresi)

Karena fungsi bersarang adalah penutupan, ini berarti bahwa fungsi bersarang dapat "mewarisi" argumen dan variabel dari fungsi yang memuatnya. Dengan kata lain, inner function berisi cakupan dari outer function

Untuk meringkas

  • Fungsi bagian dalam hanya dapat diakses dari pernyataan di fungsi bagian luar
  • Fungsi batin membentuk penutupan. fungsi dalam dapat menggunakan argumen dan variabel dari fungsi luar, sedangkan fungsi luar tidak dapat menggunakan argumen dan variabel dari fungsi dalam

Contoh berikut menunjukkan fungsi bersarang

function myFunc(theObject) {
  theObject.make = 'Toyota';
}

const mycar = {
  make: 'Honda',
  model: 'Accord',
  year: 1998,
};

// x gets the value "Honda"
const x = mycar.make;

// the make property is changed by the function
myFunc(mycar);
// y gets the value "Toyota"
const y = mycar.make;
_1

Karena fungsi dalam membentuk penutupan, Anda dapat memanggil fungsi luar dan menentukan argumen untuk fungsi luar dan dalam

function myFunc(theObject) {
  theObject.make = 'Toyota';
}

const mycar = {
  make: 'Honda',
  model: 'Accord',
  year: 1998,
};

// x gets the value "Honda"
const x = mycar.make;

// the make property is changed by the function
myFunc(mycar);
// y gets the value "Toyota"
const y = mycar.make;
_2

Perhatikan bagaimana

function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}
_9 dipertahankan saat
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
0 dikembalikan. Penutupan harus mempertahankan argumen dan variabel di semua cakupan yang dirujuknya. Karena setiap panggilan memberikan argumen yang berpotensi berbeda, penutupan baru dibuat untuk setiap panggilan ke
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
1. Memori hanya dapat dibebaskan ketika
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
0 yang dikembalikan tidak lagi dapat diakses

Ini tidak berbeda dengan menyimpan referensi di objek lain, tetapi seringkali kurang jelas karena seseorang tidak mengatur referensi secara langsung dan tidak dapat memeriksanya

Fungsi dapat bersarang berlipat ganda. Sebagai contoh

  • Fungsi (
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    _3) berisi fungsi (
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    4), yang dengan sendirinya berisi fungsi (
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    5)
  • Kedua fungsi
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    4 dan
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    5 membentuk penutupan di sini. Jadi,
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    _4 dapat mengakses
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    3, dan
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    5 dapat mengakses
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    4
  • Selain itu, karena
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    _5 dapat mengakses
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    4 yang dapat mengakses
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    3,
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    5 juga dapat mengakses
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    3

Dengan demikian, penutupan dapat berisi banyak cakupan; . Ini disebut rantai lingkup. (Alasannya disebut "rantai" akan dijelaskan nanti. )

Perhatikan contoh berikut

function myFunc(theObject) {
  theObject.make = 'Toyota';
}

const mycar = {
  make: 'Honda',
  model: 'Accord',
  year: 1998,
};

// x gets the value "Honda"
const x = mycar.make;

// the make property is changed by the function
myFunc(mycar);
// y gets the value "Toyota"
const y = mycar.make;
_3

Dalam contoh ini,

function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
_5 mengakses
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
4
let myFunc;
if (num === 0) {
  myFunc = function (theObject) {
    theObject.make = 'Toyota';
  }
}
9 dan
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
3
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}
9

Ini bisa dilakukan karena

  1. function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    _4 membentuk penutupan termasuk
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    3 (i. e. ,
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    _4 dapat mengakses argumen dan variabel
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    3)
  2. function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    _5 membentuk penutupan termasuk
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    4
  3. Karena penutupan
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    _5 mencakup
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    4 dan penutupan
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    4 mencakup
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    3, maka penutupan
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    5 juga mencakup
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    3. Ini berarti
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    _5 dapat mengakses argumen dan variabel
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    4 dan
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    3. Dengan kata lain,
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    _5 merangkai cakupan
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    4 dan
    function map(f, a) {
      const result = new Array(a.length);
      for (let i = 0; i < a.length; i++) {
        result[i] = f(a[i]);
      }
      return result;
    }
    
    const f = function (x) {
      return x * x * x;
    }
    
    const numbers = [0, 1, 2, 5, 10];
    const cube = map(f, numbers);
    console.log(cube);
    
    3, dalam urutan itu

Sebaliknya, bagaimanapun, tidak benar.

function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
3 tidak dapat mengakses
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
5, karena
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
3 tidak dapat mengakses argumen atau variabel apa pun dari
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
4, yang
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
5 adalah variabel dari. Jadi,
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
_5 tetap pribadi hanya untuk
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
4

Ketika dua argumen atau variabel dalam cakupan penutupan memiliki nama yang sama, ada konflik nama. Cakupan bersarang lebih diutamakan. Jadi, ruang lingkup terdalam mengambil prioritas tertinggi, sedangkan ruang lingkup terluar mengambil yang terendah. Ini adalah rantai ruang lingkup. Yang pertama pada rantai adalah lingkup terdalam, dan yang terakhir adalah lingkup terluar. Pertimbangkan yang berikut ini

function myFunc(theObject) {
  theObject.make = 'Toyota';
}

const mycar = {
  make: 'Honda',
  model: 'Accord',
  year: 1998,
};

// x gets the value "Honda"
const x = mycar.make;

// the make property is changed by the function
myFunc(mycar);
// y gets the value "Toyota"
const y = mycar.make;
_4

Konflik nama terjadi pada pernyataan

return number * number;
_17 dan berada di antara parameter
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
_0
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}
9 dan variabel
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
1
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}
9. Rantai cakupan di sini adalah {
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
_0,
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
1, objek global}. Oleh karena itu,
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
0
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}
9 lebih diutamakan daripada
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
1
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}
9, dan
return number * number;
28 (
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}

const f = function (x) {
  return x * x * x;
}

const numbers = [0, 1, 2, 5, 10];
const cube = map(f, numbers);
console.log(cube);
0
function map(f, a) {
  const result = new Array(a.length);
  for (let i = 0; i < a.length; i++) {
    result[i] = f(a[i]);
  }
  return result;
}
9) dikembalikan sebagai ganti _
return number * number;
31 (______1's ______16______16______1)

Penutupan adalah salah satu fitur JavaScript yang paling kuat. JavaScript memungkinkan untuk bersarang fungsi dan memberikan akses penuh ke fungsi dalam ke semua variabel dan fungsi yang didefinisikan di dalam fungsi luar (dan semua variabel dan fungsi lain yang dapat diakses oleh fungsi luar)

Namun, fungsi luar tidak memiliki akses ke variabel dan fungsi yang didefinisikan di dalam fungsi dalam. Ini memberikan semacam enkapsulasi untuk variabel fungsi dalam

Selain itu, karena fungsi dalam memiliki akses ke ruang lingkup fungsi luar, variabel dan fungsi yang didefinisikan dalam fungsi luar akan hidup lebih lama daripada durasi eksekusi fungsi luar, jika fungsi dalam berhasil bertahan melebihi umur fungsi luar. . Penutupan dibuat ketika fungsi dalam entah bagaimana dibuat tersedia untuk ruang lingkup apa pun di luar fungsi luar

function myFunc(theObject) {
  theObject.make = 'Toyota';
}

const mycar = {
  make: 'Honda',
  model: 'Accord',
  year: 1998,
};

// x gets the value "Honda"
const x = mycar.make;

// the make property is changed by the function
myFunc(mycar);
// y gets the value "Toyota"
const y = mycar.make;
_5

Itu bisa jauh lebih kompleks daripada kode di atas. Objek yang berisi metode untuk memanipulasi variabel dalam dari fungsi luar dapat dikembalikan

function myFunc(theObject) {
  theObject.make = 'Toyota';
}

const mycar = {
  make: 'Honda',
  model: 'Accord',
  year: 1998,
};

// x gets the value "Honda"
const x = mycar.make;

// the make property is changed by the function
myFunc(mycar);
// y gets the value "Toyota"
const y = mycar.make;
_6

Pada kode di atas, variabel

return number * number;
_34 dari fungsi luar dapat diakses oleh fungsi dalam, dan tidak ada cara lain untuk mengakses variabel dalam kecuali melalui fungsi dalam. Variabel dalam dari fungsi dalam bertindak sebagai penyimpanan yang aman untuk argumen dan variabel luar. Mereka menyimpan data "persisten" dan "dienkapsulasi" agar fungsi bagian dalam dapat digunakan. Fungsi bahkan tidak harus ditugaskan ke variabel, atau memiliki nama

function myFunc(theObject) {
  theObject.make = 'Toyota';
}

const mycar = {
  make: 'Honda',
  model: 'Accord',
  year: 1998,
};

// x gets the value "Honda"
const x = mycar.make;

// the make property is changed by the function
myFunc(mycar);
// y gets the value "Toyota"
const y = mycar.make;
_7

Catatan. Ada sejumlah jebakan yang harus diperhatikan saat menggunakan penutupan

Jika fungsi terlampir mendefinisikan variabel dengan nama yang sama dengan variabel di lingkup luar, maka tidak ada cara untuk merujuk ke variabel di lingkup luar lagi. (Variabel lingkup dalam "menimpa" variabel luar, sampai program keluar dari lingkup dalam. Itu dapat dianggap sebagai a. )

function myFunc(theObject) {
  theObject.make = 'Toyota';
}

const mycar = {
  make: 'Honda',
  model: 'Accord',
  year: 1998,
};

// x gets the value "Honda"
const x = mycar.make;

// the make property is changed by the function
myFunc(mycar);
// y gets the value "Toyota"
const y = mycar.make;
_8

Argumen suatu fungsi dipertahankan dalam objek seperti array. Di dalam suatu fungsi, Anda dapat mengatasi argumen yang diteruskan ke fungsi tersebut sebagai berikut

function myFunc(theObject) {
  theObject.make = 'Toyota';
}

const mycar = {
  make: 'Honda',
  model: 'Accord',
  year: 1998,
};

// x gets the value "Honda"
const x = mycar.make;

// the make property is changed by the function
myFunc(mycar);
// y gets the value "Toyota"
const y = mycar.make;
_9

di mana

return number * number;
_35 adalah nomor urut argumen, mulai dari
const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))
1. Jadi, argumen pertama yang diteruskan ke suatu fungsi adalah
return number * number;
37. Jumlah total argumen ditunjukkan oleh
return number * number;
38

Menggunakan objek

return number * number;
_39, Anda dapat memanggil fungsi dengan lebih banyak argumen daripada yang secara formal dinyatakan untuk diterima. Ini seringkali berguna jika Anda tidak mengetahui sebelumnya berapa banyak argumen yang akan diteruskan ke fungsi. Anda dapat menggunakan
return number * number;
38 untuk menentukan jumlah argumen yang benar-benar diteruskan ke fungsi, lalu mengakses setiap argumen menggunakan objek
return number * number;
39

Misalnya, pertimbangkan fungsi yang menggabungkan beberapa string. Satu-satunya argumen formal untuk fungsi tersebut adalah string yang menentukan karakter yang memisahkan item untuk digabungkan. Fungsi tersebut didefinisikan sebagai berikut

function myFunc(theArr) {
  theArr[0] = 30;
}

const arr = [45];

console.log(arr[0]); // 45
myFunc(arr);
console.log(arr[0]); // 30
0

Anda dapat meneruskan sejumlah argumen ke fungsi ini, dan fungsi ini menggabungkan setiap argumen menjadi "daftar" string

function myFunc(theArr) {
  theArr[0] = 30;
}

const arr = [45];

console.log(arr[0]); // 45
myFunc(arr);
console.log(arr[0]); // 30
_1

Catatan. Variabel

return number * number;
39 adalah "mirip array", tetapi bukan array. Ini seperti array karena memiliki indeks bernomor dan properti
return number * number;
43. Namun, itu tidak memiliki semua metode manipulasi array

Lihat objek

const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))
_2 dalam referensi JavaScript untuk informasi lebih lanjut

Ada dua jenis sintaks parameter khusus. parameter default dan parameter istirahat

Dalam JavaScript, parameter fungsi default adalah

return number * number;
45. Namun, dalam beberapa situasi mungkin berguna untuk menetapkan nilai default yang berbeda. Inilah tepatnya yang dilakukan parameter default

Di masa lalu, strategi umum untuk menyetel default adalah menguji nilai parameter di badan fungsi dan menetapkan nilai jika

return number * number;
45

Dalam contoh berikut, jika tidak ada nilai yang diberikan untuk

return number * number;
47, nilainya akan menjadi
return number * number;
45 saat mengevaluasi
return number * number;
49, dan panggilan ke
return number * number;
50 biasanya akan mengembalikan
return number * number;
51. Namun, ini dicegah oleh baris kedua dalam contoh ini

function myFunc(theArr) {
  theArr[0] = 30;
}

const arr = [45];

console.log(arr[0]); // 45
myFunc(arr);
console.log(arr[0]); // 30
_2

Dengan parameter default, pemeriksaan manual di badan fungsi tidak lagi diperlukan. Anda dapat menempatkan

const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))
_8 sebagai nilai default untuk
return number * number;
47 di kepala fungsi

function myFunc(theArr) {
  theArr[0] = 30;
}

const arr = [45];

console.log(arr[0]); // 45
myFunc(arr);
console.log(arr[0]); // 30
_3

Untuk detail lebih lanjut, lihat parameter default di referensi

Sintaks parameter rest memungkinkan kita untuk merepresentasikan jumlah argumen yang tidak terbatas sebagai sebuah array

Pada contoh berikut, fungsi

return number * number;
_50 menggunakan parameter rest untuk mengumpulkan argumen dari yang kedua sampai akhir. Fungsi tersebut kemudian mengalikannya dengan argumen pertama

function myFunc(theArr) {
  theArr[0] = 30;
}

const arr = [45];

console.log(arr[0]); // 45
myFunc(arr);
console.log(arr[0]); // 30
_4

Ekspresi fungsi panah (juga disebut panah gemuk untuk membedakan dari sintaks

return number * number;
55 hipotetis di JavaScript mendatang) memiliki sintaks yang lebih pendek dibandingkan dengan ekspresi fungsi dan tidak memiliki
return number * number;
56,
return number * number;
39,
return number * number;
58, atau
return number * number;
59. Fungsi panah selalu anonim

Dua faktor mempengaruhi pengenalan fungsi panah. fungsi lebih pendek dan tidak mengikat

return number * number;
56

Dalam beberapa pola fungsional, fungsi yang lebih pendek diperbolehkan. Membandingkan

function myFunc(theArr) {
  theArr[0] = 30;
}

const arr = [45];

console.log(arr[0]); // 45
myFunc(arr);
console.log(arr[0]); // 30
5

Sampai panah berfungsi, setiap fungsi baru mendefinisikan nilainya sendiri

return number * number;
56 (objek baru dalam kasus konstruktor, tidak terdefinisi dalam pemanggilan fungsi mode ketat, objek dasar jika fungsi disebut sebagai "metode objek", dll. ). Ini terbukti kurang ideal dengan gaya pemrograman berorientasi objek

function myFunc(theArr) {
  theArr[0] = 30;
}

const arr = [45];

console.log(arr[0]); // 45
myFunc(arr);
console.log(arr[0]); // 30
_6

Dalam ECMAScript 3/5, masalah ini diperbaiki dengan menetapkan nilai di

return number * number;
56 ke variabel yang dapat ditutup

function myFunc(theArr) {
  theArr[0] = 30;
}

const arr = [45];

console.log(arr[0]); // 45
myFunc(arr);
console.log(arr[0]); // 30
_7

Atau, fungsi terikat dapat dibuat sehingga nilai

return number * number;
56 yang tepat akan diteruskan ke fungsi
return number * number;
64

Fungsi panah tidak memiliki

return number * number;
56 sendiri; . Jadi, dalam kode berikut,
return number * number;
_56 dalam fungsi yang diteruskan ke
return number * number;
68 memiliki nilai yang sama dengan
return number * number;
56 dalam fungsi penutup

function myFunc(theArr) {
  theArr[0] = 30;
}

const arr = [45];

console.log(arr[0]); // 45
myFunc(arr);
console.log(arr[0]); // 30
_8

JavaScript memiliki beberapa fungsi bawaan tingkat atas

const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))
3

Metode

const factorial = function fac(n) {
  return n < 2 ? 1 : n * fac(n - 1);
}

console.log(factorial(3))
_3 mengevaluasi kode JavaScript yang direpresentasikan sebagai string

return number * number;
_72

Fungsi

return number * number;
_72 global menentukan apakah nilai yang diteruskan adalah bilangan terbatas. Jika perlu, parameter terlebih dahulu dikonversi menjadi angka

return number * number;
_74

Fungsi

return number * number;
74 menentukan apakah suatu nilai
return number * number;
51 atau tidak. Catatan. paksaan di dalam fungsi
return number * number;
_77 memiliki aturan;

return number * number;
_79

Fungsi ________8______79 mem-parsing argumen string dan mengembalikan angka floating point

return number * number;
_81

Fungsi

return number * number;
81 mem-parsing argumen string dan mengembalikan bilangan bulat dari radix yang ditentukan (basis dalam sistem angka matematika)

return number * number;
_83

Fungsi

return number * number;
83 menerjemahkan Uniform Resource Identifier (URI) yang sebelumnya dibuat oleh
return number * number;
85 atau dengan rutin serupa

return number * number;
_86

Metode

return number * number;
86 menerjemahkan komponen Uniform Resource Identifier (URI) yang sebelumnya dibuat oleh
return number * number;
88 atau dengan rutin serupa

return number * number;
_89

Metode

return number * number;
89 mengkodekan Uniform Resource Identifier (URI) dengan mengganti setiap instance karakter tertentu dengan satu, dua, tiga, atau empat escape sequence yang mewakili pengkodean karakter UTF-8 (hanya akan menjadi empat escape sequence untuk karakter yang terdiri dari dua

return number * number;
_91

Metode

return number * number;
91 mengkodekan komponen Uniform Resource Identifier (URI) dengan mengganti setiap instance karakter tertentu dengan satu, dua, tiga, atau empat escape sequence yang mewakili pengkodean UTF-8 karakter (hanya akan menjadi empat escape sequence untuk karakter yang terdiri dari

return number * number;
_93

Metode

return number * number;
93 yang sudah tidak digunakan lagi menghitung string baru di mana karakter tertentu telah diganti dengan urutan escape heksadesimal. Gunakan
return number * number;
_85 atau
return number * number;
88 sebagai gantinya

return number * number;
_97

Metode

return number * number;
97 yang tidak digunakan lagi menghitung string baru di mana urutan escape heksadesimal diganti dengan karakter yang diwakilinya. Urutan pelarian mungkin diperkenalkan oleh fungsi seperti
return number * number;
99. Karena
return number * number;
_97 sudah tidak digunakan lagi, gunakan
return number * number;
83 atau
function myFunc(theObject) {
  theObject.make = 'Toyota';
}

const mycar = {
  make: 'Honda',
  model: 'Accord',
  year: 1998,
};

// x gets the value "Honda"
const x = mycar.make;

// the make property is changed by the function
myFunc(mycar);
// y gets the value "Toyota"
const y = mycar.make;
02 sebagai gantinya

Bagaimana Anda menulis fungsi di dalam HTML?

Di dalam bagian kepala dokumen HTML, kita telah mendefinisikan sebuah fungsi (mis. g myfunction();) di dalam tag skrip .
fungsi myfunction() {
alert("apa kabar");
.

Bagaimana cara menulis HTML dalam fungsi JavaScript?

Contoh Lainnya .
Buka aliran keluaran, tambahkan beberapa HTML, lalu tutup aliran keluaran. membuka();
Buka jendela baru dan tulis beberapa HTML ke dalamnya. const myWindow = jendela. membuka(); . dokumen. .
Contoh. dokumen. write("Halo Dunia. "); write("Semoga harimu menyenangkan. "

Bagaimana Anda memanggil fungsi di dalam div dalam HTML?

Anda dapat menamai setiap fungsi sesuai dengan id div dan memanggilnya secara dinamis menggunakan sintaks object["methodName"]() .

Bagaimana Anda menampilkan fungsi dalam HTML?

Untuk menampilkan output di konsol browser, Anda dapat menggunakan “console. log()”. Untuk menulis ke dalam HTML dan menampilkan hasilnya, Anda dapat menggunakan “ document. write()” fungsi .