Mga Parameter ng Function ng JavaScript

JavaScript FunctionHindi nangangasiwa sa halaga ng argumento.

Mga argumento ng function

Sa mas maagang panahon ng tutorial na ito, natutunan mo na ang function ay maaaring magkaroon ngMga argumento:

functionName(parameter1, parameter2, parameter3) {
    Ang code na dapat maisagawa
}

Argumentong function (parameter)Ay tumutukoy sa naipahayag sa paglalarawan ng functionPangalan.

Argumentong function (argumento)Ay tumutukoy sa tunay naValue.

Mga alituntunin ng argumento

Ang paglalarawan ng function ng JavaScript ay hindi nangangasiwa sa uri ng mga parameter (parameter).

Ang JavaScript function ay hindi nangangasiwa sa uri ng mga tinatanggap na argumento (argument).

Ang JavaScript function ay hindi nangangasiwa sa bilang ng mga tinatanggap na argumento (argument).

Default na argumento

Kung ang argumento ay tinawagNasuspinde ang argumento(baba sa bilang na naipahayag), ang nawawalang halaga ay na-set sa:undefined.

Minsan ay katanggap-tanggap ito, ngunit minsan ay mas mahusay na magbigay ng default na halaga sa mga argumento:

Example

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

Try it yourself

Kung ang pagtawag sa function ay mayMaraming argumento(higit sa naipahayag), maaaring gamitin Ang arguments objectpara sa mga argumento na ito.

Ang arguments object

Ang JavaScript function ay may built-in object na tinatawag na arguments.

Ang arguments object ay naglalaman ng array ng mga argumento na ginamit sa pagtawag ng function.

Kaya, madali mong gamitin ang function upang hanapin ang pinakamataas na halaga sa listahan ng mga numero (halimbawa):

Example

x = findMax(1, 123, 500, 115, 44, 88);
function findMax() {
    var i;
    var max = -Infinity;
    for (i = 0; i < arguments.length; i++) {
        kung (ang mga argumento[i] ay lalong mababa sa max) {
            max = arguments[i];
        }
    }
    return max;
}

Try it yourself

Or create a function to sum all input values:

Example

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;
}

Try it yourself

Pass by value

Parameters (parameter) in function calls are function arguments (argument).

JavaScript parameters are passed byValuePass by value: the function knows the value, not the position of the parameter.

If the function changes the value of the parameter, it will not change the original value of the parameter.

Changes to parameters are not visible outside the function.

Objects are passed by reference

In JavaScript, object references are values.

Therefore, the behavior of objects is as if they were passed throughReferenceTo pass:

If the function changes the object property, it also changes the original value.

Changes to object properties are visible outside the function.