好久不见 甚是想念
大家好 今天你敲代码了嘛!?今天让我们来聊聊 js 如何访问函数内部变量
先上代码
// 栈类
function Stack() {
// 栈中的属性
var items = []
// 栈相关的方法
// 压栈操作
this.push = function (element) {
items.push(element)
}
// 出栈操作
this.pop = function () {
return items.pop()
}
// peek操作
this.peek = function () {
return items[items.length - 1]
}
// 判断栈中的元素是否为空
this.isEmpty = function () {
return items.length === 0
}
// 获取栈中元素的个数
this.size = function () {
return items.length
}
}
//stack 实例对象
var stack = new Stack()
stack.push(1)
那么此时我们如何获取函数内部的item呢
因为 我们都知道 构造函数中的this 指向着 实例对象 stack 但是item 是函数的一个变量 如何获取确实 难住我了
那么我也不卖关子
解决办法:
在函数里面加上一个 getItem 属性
//获取Item
this.getItem = function () {
return items
}
此时我们就可以通过 stack.getItem()来得到我们想要的Item了
以下是翻阅的资料
function t() {
let ttt = "测试";//要获取的变量
}
console.log(ttt);
当然这个报错了,ttt not Defind
解决方式,使用闭包然后return出去;
function t() {
let ttt = "测试";
return function () {
return ttt;
}
}
console.log(ttt);
希望对大家有所帮助