Overview of ECMAScript Functions

Ano ang function?

Ang function ay isang grupo ng mga statement na maaaring patakbuhin kahit saan at kahit kailan.

Ang function ay pangunahing bahagi ng ECMAScript.

Ang function ay ipinahayag sa paraan na ito: palatandaan na function, pangalan ng function, isang grupo ng argumento, at ang code na nasa loob ng mga palaran na dapat isagawa.

Ang pangunahing gramatika ng function ay tulad nito:

function functionName(arg0, arg1, ... argN) {
  statements
}

Halimbawa:

function sayHi(sName, sMessage) {
  alert("Hello " + sName + sMessage);
}

Paano tumawag sa function?

Ang function ay maaring tawag sa pamamagitan ng pangalan nito at ang argumento sa loob ng mga palaran, kung mayroong marami ng argumento.

Kung gusto mong tumawag sa function na ito sa nakaraang halimbawa, magagamit ang mga sumusunod na code:

sayHi("David", " Nice to meet you!")

Panggil ang function na sayHi() ay magbibigay ng isang babala na window. Maari mongSubukan mo itong halimbawa!.

Paano ibabalik ang halaga ng function?

Ang function na sayHi() ay hindi nagbabalik halaga, ngunit hindi kailangan na ma-deklara ito (tulad ng paggamit ng void sa Java).

Kahit may halaga ang function, hindi kailangang malinaw itong idedeklara. Ang function ay kailangan lamang gamitin ang return operator na sinundan ng halaga na ibinabalik.

function sum(iNum1, iNum2) {
  return iNum1 + iNum2;
}

Ang kodigo sa ibaba ay inilalagay ang halaga ng ibinabalik ng sum function sa isang variable:

var iResult = sum(1,1);
alert(iResult);	//Magpalabas ng "2"

Isa pang mahalagang konsepto ay, tulad ng sa Java, ang function ay tumatapos agad ang pagsasakatuparan kapag nagawa ang return statement. Kaya hindi na magsasakatuparan ang kodigo sa ibabaw ng return statement.

Halimbawa, sa nasabing kodigo, ang alert window ay hindi na ipapakita:

function sum(iNum1, iNum2) {
  return iNum1 + iNum2;
  alert(iNum1 + iNum2);
}

Maaaring magkaroon ng maraming return statement ang isang function, tulad ng sumusunod:

function diff(iNum1, iNum2) {
  if (iNum1 > iNum2) {
    return iNum1 - iNum2;
  }
    return iNum2 - iNum1;
  }
}

Ang function na ito ay ginagamit upang ibalik ang pagkakaiba ng dalawang bilang. Upang maisakatuparan ito, kinakailangang bawasan ang mas malaki sa mas maliit, kaya ginagamit ang if statement upang magpasiya kung anong return statement ang gagawing epektibo.

Kung walang ibinabalik ang function, maaaring tumawag ang walang argumentong return operator, anumang oras na umalis sa function.

Halimbawa:

function sayHi(sMessage) {
  if (sMessage == "bye") {
    return;
  }
  alert(sMessage);
}

Sa kasalukuyang kodigo, kung ang sMessage ay katulad ng "bye", ang warning box ay hindi na ipapakita.

Komento:Kung walang malinaw na halaga ng pagbabalik ng function, o tinawagan ang walang argumentong return statement, ang tunay na halaga na ibinabalik ay undefined.