JavaScript 函数调用

Koda na JavaScript funtanci za a kammala a cikin lokacin

Kira JavaScript funtanci

a cikin lokacinKiraa cikin lokacin, koda na funtanci za a kammala a kammala.

a cikin lokacinKauyea cikin lokacin, koda na funtanci za a kammala a kammala.

Kauye funtanci kuma za a iya sashe “sokar funtanci” ko “sokar kammala funtanci”.

A cikin wannan takarda, ake amfani da “Kauye

Kauye funtanci a cikin funtanci

实例

function myFunction(a, b) {
    return a * b;
}
myFunction(10, 2);           // za a samu 20

亲自试一试

Funtanan na yau ba su kula da wuri kowace. Amma a JavaScript, kuma yana da abin da ake kira abin muhimmanci gaba daya.

A cikin HTML, abin da ake amfani da shi ne saitin HTML, kuma duk funtanan da suka wuce suke da saitin HTML.

A cikin yanar inda, wuri na saitin ita ce jannu yanar inda. Funtan da yake aiki ya zama funtanci jannu.

myFunction() da window.myFunction() za a zo same function:

实例

function myFunction(a, b) {
    return a * b;
}
window.myFunction(10, 2);    // za a zo kalla 20

亲自试一试

ita za a zo wajib kalla function, laiko ko kiyi sunan habo.

global variable, method ko function za a zo global object za a zo naming conflict da faiya.

this keyword

wa JavaScript, an jikiwa this ma'ana wanda, niwai "ma'ana" na current code na object.

this ma'ana, zaiwa kalla wa function, za a zo ma'ana' na function na:

sabunta! this ko ba na variable. Ita za a zo keyword. Za a zo wakilci this ma'ana na:

global object

zaiwa kalla object a zaiwa ma'ana' object,this ma'ana za a zo global object.

wa web browser, global object za a zo browser object.

wa example na, this ma'ana za a zo window object na:

实例

var x = myFunction();            // x za a zo window object
function myFunction() {
   return this;
}

亲自试一试

zaiwa kalla function a zaiwa global function, za a zo this ma'ana za a zo global object.

zaiwa variable zu amfana window object za a zo program faiya.

zaiwa method zu kalla function

wa JavaScript, za a zo function zu object method.

wa example tukuru object (myObject), na daga attributes (firstName da lastName), da method (fullName):

实例

var myObject = {
    firstName: "Bill",
    lastName: "Gates",
    fullName: function () {
        return this.firstName + " " + this.lastName;
    }
}
myObject.fullName();         // za a zo "Bill Gates"

亲自试一试

fullName method na function. Wa object. MyObject na function na ma'ana.

an jikiwa this ma'ana wanda, niwai "ma'ana" wa JavaScript code na object. N yanu,this ma'ana: myObject.

sabunta! Sake kuro fullName method zu za this ma'ana:

实例

var myObject = {
    firstName: "Bill",
    lastName: "Gates",
    fullName: function () {
        return this;
    }
}
myObject.fullName();          // za a zo [object Object] (ma'ana' object) anu

亲自试一试

以对象方法来调用函数,会导致 this 的值成为对象本身。

通过函数构造器来调用函数

如果函数调用的前面是 new 关键字,那么这是一个构造函数调用。

它看起来像你创建一个新的函数,但由于 JavaScript 函数是对象,你实际上创建一个新对象:

实例

// 这是函数构造器:
function myFunction(arg1, arg2) {
    this.firstName = arg1;
    this.lastName  = arg2;
}
// 创建了一个新对象:
var x = new myFunction("Bill", "Gates");
x.firstName;                             // 会返回 "Bill"

亲自试一试

构造器调用会创建新对象。新对象会从其构造器继承属性和方法。

构造器内的 this 关键词没有值。

this 的值会成为调用函数时创建的新对象。