Parameter Fungsi JavaScript

JavaScript Fungsitidak melakukan pemeriksaan apapun terhadap nilai parameter.

Parameter fungsi

Pada waktu awal tutorial ini, anda sudah belajar bahwa fungsi dapat memilikiparameter:

functionName(parameter1, parameter2, parameter3) {
    kode yang akan dieksekusi
}

Parameter fungsi (parameter)merujuk kepada parameter yang tercantum dalam definisi fungsi.namanya

Parameter fungsi (argument)merujuk kepada parameter yang sebenarnya yang disampaikan ke fungsi atau yang diterima oleh fungsi.

Aturan parameter

Definisi fungsi JavaScript tidak menentukan tipe data parameter (parameter).

Fungsi JavaScript tidak melakukan pemeriksaan tipe parameter (argument) yang disampaikan.

Fungsi JavaScript tidak memeriksa jumlah parameter (argument) yang diterima.

Parameter default

Jika parameter diabaikan saatParameter diabaikan(kurang dari yang diumumkan), nilai yang hilang diatur menjadi:undefined

Kadang-kadang ini dapat diterima, tetapi kadang-kadang lebih baik memberikan nilai default untuk parameter:

实例

function myFunction(x, y) {
    jika (y === undefined) {
          y = 0;
    } 
}

亲自试一试

Jika jumlah parameter pemanggilan fungsiTerlalu banyak parameter(melebihi yang diumumkan), maka dapat digunakan Objek argumentsuntuk mencapai parameter tersebut.

Objek arguments

Fungsi JavaScript memiliki objek bawaan yang dinamai arguments.

Objek arguments mengandung daftar parameter yang digunakan saat pemanggilan fungsi.

Dengan cara ini, anda dapat dengan mudah menggunakan fungsi untuk mencari (contohnya) nilai tertinggi dalam daftar angka:

实例

x = findMax(1, 123, 500, 115, 44, 88);
function findMax() {
    var i;
    var max = -Infinity;
    for (i = 0; i < arguments.length; i++) {
        jika (arguments[i] > max) {
            max = arguments[i];
        }
    }
    return max;
}

亲自试一试

或创建一个函数来总和所有输入值:

实例

x = sumAll(1, 123, 500, 115, 44, 88);
function sumAll() {
    var i, sum = 0;
    for (i = 0; i < arguments.length; i++) {
        sum += arguments[i];
    }
    return sum;
}

亲自试一试

参数通过值传递

函数调用中的参数(parameter)是函数的参数(argument)。

JavaScript 参数通过传递:函数只知道值,而不是参数的位置。

如果函数改变了参数的值,它不会改变参数的原始值。

参数的改变在函数之外是不可见的。

对象是通过引用传递的

在 JavaScript 中,对象引用是值。

正因如此,对象的行为就像它们通过引用来传递:

如果函数改变了对象属性,它也改变了原始值。

对象属性的改变在函数之外是可见的。