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();