js中,如何在方法外取到方法内部的变量
时间: 2023-05-24 15:03:45 浏览: 89
A:
在方法内部定义的变量默认是私有的,无法在方法外部直接访问。但是可以通过在方法内部定义一个返回该变量的方法,然后在方法外部调用该方法来获取变量的值。例如:
```
function myFunc() {
var myVar = "Hello World!";
this.getVar = function() {
return myVar;
}
}
var obj = new myFunc();
console.log(obj.getVar()); // 输出:Hello World!
```
在上面的示例中,我们定义了一个名为`myFunc`的函数,在函数内部定义了一个变量`myVar`。然后我们通过定义一个名为`getVar`的方法,并将其添加到`this`对象上,从而使得该方法能够在对象外部访问到`myVar`的值。最后,我们通过实例化函数并调用`getVar`方法来获取变量的值。
还可以使用闭包的方式,在方法内部返回一个函数,并在方法外部调用该函数来获取变量的值。例如:
```
function myFunc() {
var myVar = "Hello World!";
return function() {
return myVar;
}
}
var getVar = myFunc();
console.log(getVar()); // 输出:Hello World!
```
在这个示例中,我们定义了一个名为`myFunc`的函数,在函数内部定义了一个变量`myVar`。然后,我们在函数内部创建了一个闭包,返回一个函数来访问`myVar`的值,从而使得该值能够在函数外部被获取到。最后,我们执行`myFunc`函数并将返回的函数赋值给变量`getVar`,然后调用该函数来获取变量的值。
阅读全文