Object.defineProperty(global, '__stack', {get: function() { var orig = Error.prepareStackTrace; Error.prepareStackTrace = function(_, stack) { return stack; }; var err = new Error; Error.captureStackTrace(err, arguments.callee); var stack = err.stack; Error.prepareStackTrace = orig; return stack; }});Object.defineProperty(global, '__line', {get: function() { return __stack[1].getLineNumber(); }});Object.defineProperty(global, '__function', {get: function() { return __stack[1].getFunctionName(); }});function foo() { console.log(__line); console.log(__function);}foo()
分别返回“ 28”和“ foo”。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)