Javascript中方法调用的详细介绍

在Javascript中,如果函数属于一个对象,通过对象访问函数的行为称为方法调用。这将引用用于调用函数的对象,该函数将成为方法调用的调用上下文。



复制代码代码如下所示:

变量x=99;

var示例{ {

X:1,

行为:函数(a){

这一点是:A * *;给样本的x赋值,而不是全局对象的x。

}

}

Sample.act(6);

console.log(样品。x); / / 36

console.log(x); / / 99





与访问属性中的对象一样,除了使用点运算符,Javascript还可以使用括号操作符来调用方法:



复制代码代码如下所示:

其他调用方法的方法

示例{}}(7);

console.log(样品。x); / / 49





Javascript中函数的一个有趣的行为是可以在函数中嵌入函数(闭包),如果我们在方法调用中嵌入了函数的函数,那么内嵌函数中的代码就可以访问外部变量值。



复制代码代码如下所示:

嵌套函数可以访问它之外的变量。

var=88;

2 = { { var

y:1,

ACT2:功能(一){

这个。y =内部();

函数内部(){

返回一个;

}

}

}

(8)sample2.act2;

console.log(范例。Y); / / 64

console.log(Y); / / 88





然而,与直觉相反,嵌入在函数中的代码不能从外部继承它。也就是说,在嵌入式功能中,这不是调用方法的对象,而是调用全局对象。



复制代码代码如下所示:

嵌套函数不继承此。嵌套函数中的是

VaR sample3 = { {

ACT3:函数(){

内();

函数内部(){

console.log(本); / /窗口对象

}

}

}

sample3.act3();





如果您确实需要一个对象,它可以访问嵌入函数中的调用方法,则可以将这个值保存在一个外部函数中,并将其保存到一个变量中:



复制代码代码如下所示:

将这个 嵌套函数传递给

VaR样品= { {

ACT4:函数(){

var =;

内();

函数内部(){

console.log(自我); / /对象{ Act4 =函数()}

}

}

}

sample4.act4();