Closed. This question is not reproducible or was caused by typos。它当前不接受答案。
                        
                    
                
            
        
            
        
                
                    
                
            
                
                    想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                
                    4年前关闭。
            
        

    

我正在学习JavaScript,并尝试检查Arguments对象的调用方和被调用方属性。

这是我的代码

function showFunc() {
    var funcname = arguments.calee.name;
    console.log(funcname);
}
showFunc();


现在它在控制台中显示错误


  未捕获的TypeError:无法读取未定义的属性“名称”


请告诉我我要去哪里错了。

最佳答案

callee不是calee


  警告:第五版ECMAScript(ES5)禁止在严格模式下使用arguments.callee()。通过给函数表达式起一个名字或在函数必须调用自身的地方使用函数声明来避免使用arguments.callee()。 caller callee的更多详细信息
  
  Why was the arguments.callee.caller property deprecated in JavaScript?


function showFunc() {
    var funcname = arguments.callee.name;
    console.log(funcname);
}
showFunc();

09-25 16:34