题目描述:
实现一个函数 where
,它返回它被调用的时候所在的函数的名字,例如:
function main () {
where() // => 'main'
}
function a () {
function b () {
where() // => 'b'
}
b()
}
main()
a()
where
需要在严格模式下编写。
思路:
没有
参考答案:
const where = () => {
let reg = /\s+at\s(\S+)\s\(/g
let str = new Error().stack.toString()
let res = reg.exec(str) && reg.exec(str)
return res && res[1]
}